Real Madrid came from goal down to defeat struggling Athletic Bilbao 2-1 at El Santiago Bernabeu.
Fabio Capello's side struggled to get the better of their Basque opponents in the first half, with Athletic taking a surprise lead into the half-time break.
Luis Prieto (35) drove a free-kick that took a wicked deflection in front of Real goalkeeper Iker Casillas and flew past him for 1-0.
The scoreline prompted Capello to introduce David Beckham and Ronaldo for the start of the second half, and the move paid dividends.
On 64 minutes, a slimmer-looking Ronaldo controlled a long ball forward before finishing past Athletic goalkeeper Inaki Lafuente.
Real's chances of winning the game were enhanced when Aritz Aduritz was sent off after using an apparent elbow on Mahamadou Diarra.
Real made the extra man count, as Roberto Carlos drove home the winner with eight minutes remaining.
The win takes Real to within a point of Primera Liga leaders Barcelona, who drew 1-1 at Levante on Saturday.
Sevilla missed the chance to leapfrog Barcelona after falling to a 2-1 defeat at Espanyol.
The Andalucians looked on course for victory at the Montjuic when former West Ham United and Tottenham Hotspur striker Fredi Kanoute scored from the penalty spot on 26 minutes.
The lead lasted until the midway point of the second half, as Raul Tamudo levelled matters for Espanyol.
With ten minutes remaining, the turnaround was completed by the Barcelona-based club when Luis Garcia struck Espanyol's winner.
Despite having Albert Riera sent-off five minutes from the end, Espanyol held on for the home victory.
Struggling Osasuna left it late to claim a dramatic 2-1 victory at high-flying Real Zaragoza.
Diego Milito gave Zaragoza the lead on 19 minutes after good work from Carlos Diogo saw Sergio Garcia slip a fine through ball to Milito before the Argentine striker neatly finished past Osasuna goalkeeper Ricardo.
The lead lasted until eight minutes from the end, when from an Osasuna corner, Raul Garcia's header deflected of Zaragoza captain Gabriel Milito and past goalkeeper Cesar for 1-1.
The Basque club then snatched all three points from La Romareda, as Raul Garcia took the ball from Ricardo and raced up the pitch on the counter-attack.
He then slipped a fine through ball to David Lopez, who then played a low cross from the left which inadvertently deflected off of Zaragoza's Leo Ponzio and into his own net for Osasuna's winner.
The result takes the Pamplona club further away from the bottom three, while Zaragoza missed the chance to move up to fourth in the table.
Real Sociedad made it four league draws in a row after a goalless home stalemate with Getafe.
The Basque club remain in the relegation zone as a result, with Miguel Angel Lotina's side the only club in La Liga yet to register a victory this season.
Goals by Fabricio Fuentes (24) and Mexico international Guillermo Franco (29) gave Villarreal a 2-0 home win over bottom club Gimnastic de Tarragona.
Celta Vigo came from two goals down to earn a 2-2 draw at Real Mallorca.
Jonas Gutierrez (6) and Bosko Jankovic (52) gave The Islanders the advantage, but Fernando Baiano (57) pulled a goal back for Celta.
A Jesus Perera penalty meant the Galician club took a point from their trip to the Balearics.
Mallorca also finished the game at the Ono Estadi with ten men, as Gutierrez was sent off for using foul and abusive language before the final whistle.
Finally, Deportivo La Coruna and Racing Santander played out an ill-tempered goalless draw at the Riazor.
Racing's Pedro Munitis and Nikola Zigic both earned red cards, while Depor's Cristian was also sent off for serious foul play.
Click below for match summaries:
Deportivo La Coruna 0-0 Racing Santander
Espanyol 2-1 Sevilla
Mallorca 2-2 Celta Vigo
Real Madrid 2-1 Athletic Bilbao
Real Sociedad 0-0 Getafe
Real Zaragoza 1-2 Osasuna
Villarreal 2-0 Gimnastic