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' on Saturday.
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 six minutes into the second half and a misunderstanding between Andres Iniesta and Javier Mascherano led to Real's third just after the hour when Karim Benzema finished off a swift break with a clinical strike.
Barca are top with 22 points with 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.
EPL: West Ham stun Manchester City; Birmingham suffer worst loss
ISL: Impressive Delhi Dynamos drub Chennaiyin
Review: Happy New Year will make you feel good BUT...
Modi @ Reliance hospital opening: 'Plastic surgeon may have fixed elephant's head on Ganesha'
'For many years, it upset me that I was a businessman'