The Portuguese star scored twice in what was a sloppy win for Jose Mourinho's side, who looked a far cry from the team that overcame Manchester United in the Champions League last week.

Ronaldo scored his first in the 61st minute after Celta failed to clear a Luka Modric corner before Real were caught out from a quick throw-in just two minutes later, allowing Iago Aspas to level the scores.

Real goalkeeper Diego Lopez nearly gifted Aspas a second after he spilled the ball in the area but the visitors were soon ahead again after Kaka was brought down in the area by Varas, Ronaldo coolly chipping the ball in from the penalty spot.

Gonzalo Higuain missed a pair of chances to add some gloss to the finish and Mourinho's blushes were spared in the last minute of normal time as Park Chu-Young's header hit the bar and went behind.

The win sees Real overtake cross-town rivals Atletico Madrid into second place on the table after Diego Simeone's side suffered a 1-0 loss at home to Real Sociedad.

Xabi Prieto struck what proved to be the match-winner for Sociedad in the 53rd minute as Atletico's winless streak extended to three matches.

In the day's other games, Athletic Bilbao managed a 1-0 win over Valencia while Levante and Getafe played out a 0-0 draw.