Real Madrid restored their five-point lead over Barcelona at the top of the Spanish Primera Liga on Saturday by winning 3-2 at Recreativo Huelva while Barcelona were thumped 4-2 at Atletico Madrid.
Brazilian forward Robinho led Real to a comeback victory with two top-class strikes after coming on as a second-half substitute in a game that featured three red cards, two for Recreativo.
Atletico also fought back from a goal down, teenage striker Sergio Aguero leading the way with two goals and a clever assist.
Fifth-placed Sevilla failed to build on an early goal from striker Frederic Kanoute, losing 2-1 at relegation-threatened Deportivo Coruna.
Barca started well at the Calderon, Ronaldinho putting his side in front with a spectacular overhead kick, but the goal served to spark an extraordinary rally from Atletico.
Aguero equalised with a deflected shot on 36 minutes before providing the pass that allowed fellow Argentine Maxi Rodriguez to put the home side 2-1 up.
Diego Forlan extended Atletico's lead with a penalty early in the second half after Carles Puyol pushed Aguero as he darted into the area.
The Argentine youngster capped a brilliant performance with a virtuoso solo effort, jinking past Gianluca Zambrotta and leaving Puyol on his back before firing low past keeper Victor Valdes to make it 4-1.
Samuel Eto'o netted for second-placed Barca 16 minutes from time but Frank Rijkaard's side still slipped to their first defeat in nine league matches.
Real, who had lost three of their last four league games, fell behind at Recreativo when Uruguayan defender Martin Caceres steered the ball in at the far post following a free kick.
The visitors equalised against the run of play on 28 minutes when Raul headed over Stefano Sorrentino as the Recreativo keeper tried to punch the ball clear.
There was a flurry of red cards early in the second half, Recreativo having defenders Beto and Quique Alvarez dismissed either side of Real fullback Sergio Ramos's sending off.
It was the appearance of Robinho 17 minutes from time that proved decisive.
The Brazilian put Real in front with his first touch, firing home after he had snapped up a loose ball on the edge of the area.
Robinho then made it 3-1 with a delightful chip before Recreativo pulled a goal back in added time as midfielder Carlos Martins curled in a free kick.