(CNN) -- Cristiano Ronaldo was sent off after inspiring Real Madrid to an incident-packed 4-2 victory at home to Almeria on Saturday night, in which he created a goal, scored one and also missed a penalty.
The world's most expensive player helped Real bounce back from last weekend's 1-0 "El Clasico" defeat to Barcelona as the big-spending capital outfit came back from 2-1 down in an explosive final 20 minutes.
However, unbeaten Barca stayed five points clear at the top -- having played one more match -- with a 2-1 victory at Deportivo La Coruna as Lionel Messi scored twice.
Ronaldo, making his first appearance at the Bernabeu in two months following ankle problems, crossed for Sergio Ramos to head the opening goal in the 31st minute.
However, Fernando Soriano leveled with a deflected shot in the 58th minute and Kalu Uche put lowly Almeria head just three minutes later as Real failed to clear a corner.
The hosts equalized with 17 minutes left as Argentina forward Gonzalo Higuain kept up his hot scoring run with a predatory finish after the Almeria defense did not deal with a cross from the left.
With eight minutes remaining, Ronaldo went down under the challenge of the onrushing Diego Alves, but the goalkeeper saved his resulting penalty -- however, Karim Benzema followed up to smash in the rebound to put Real ahead.
Ronaldo wrapped it up a minute later from Higuain's low cross, and was booked for tearing off his shirt to pose in front of his adoring fans.
The Portugal captain received his second yellow card five minutes later for kicking out at Michel, but it was not costly as Real completed a morale-boosting win ahead of Tuesday's Champions League trip to Marseille.
Barcelona, whose European title defense is still in the balance ahead of Wednesday's trip to Dynamo Kiev, took the lead against Deportivo in the 27th minute when Messi scored with a trademark neat finish.
However, Adrian leveled in the 39th minute with a header after an error by Sergi Busquets, who returned from suspension.
But Messi, named Europe's top player for 2009 during the week, put Barca ahead again with 10 minutes left from Pedro's cross and Zlatan Ibrahimovic followed up his winner against Real by wrapping up the victory on 88.
Third-placed Sevilla again failed to keep pace with the leaders after being held 1-1 at home by mid-table Valladolid, who had a player sent off.
Angola striker Manucho put the visitors ahead in the 33rd minute with a glancing header from Diego Costa's cross but five minutes later Borja Fernandez was red-carded for a lunge on Diego Perotti.
Sevilla, who were held at home by Malaga last weekend, leveled with a penalty from Luis Fabiano just before halftime after Marcos brought down Jesus Navas.
Brazil striker Fabiano squandered two golden second-half opportunities as Valladolid held on, meaning Valencia can move above Sevilla with victory away to Athletic Bilbao on Sunday.
Atletico Madrid moved further away from relegation trouble with a 2-0 victory at promoted strugglers Xerez, with star strikers Diego Forlan and Sergio Aguero scoring in each half.
Uruguay international Forlan put Atletico ahead in the 29th minute from a cross by Jose Antonio Reyes, while Argentina's Aguero doubled the lead on 65 with a low shot from 12 yards.