Real Madrid trimmed Barcelona's lead at the top of La Liga to one point when they recovered from conceding an early goal to secure a stirring 3-1 comeback win in the 'Clasico'.
Neymar stunned a packed and hostile Bernabeu with a superb goal to give Barca a fourth-minute lead before Cristiano Ronaldo levelled with a penalty in the 35th, the first goal the Catalan side had conceded in nine league outings this term.
Pepe made it 2-1 to the European champions six minutes into the second half and a misunderstanding between Andres Iniesta and Javier Mascherano led to Real's third after the hour when Karim Benzema finished off a swift break with a clinical strike.
Barca are top with 22 points and Real, who had an early-season wobble but have been in scintillating form in recent weeks, second on 21. Sevilla, who host Villarreal on Sunday, are third with 19.
There was no dream return for Luis Suarez, making his Barca debut after a four-month ban for biting an opponent at the World Cup.
The Uruguay forward looked reasonably sharp and had a hand in Neymar's goal but did not come close to scoring himself before being replaced by Pedro midway through the second half.
Barca's four-times World Player of the Year Lionel Messi also had a quiet night by his standards and remains one goal short of the La Liga scoring record of 251 goals set by former Athletic Bilbao forward Telmo Zarra six decades ago.