Lionel Messi scored his 500th Barcelona goal to send them top of La Liga with an injury-time winner against 10-man Real Madrid at the Bernabeu.
It puts Barcelona level on points with Real Madrid, but with a better head-to-head record but Madrid have a game in hand on Barcelona
Casemiro scored first for the hosts before Messi and Ivan Rakitic put Barcelona in front and Sergio Ramos was shown a red card for a wild lunge.
Substitute James Rodriguez thought he had earned Madrid a point late on.
But Messi, who scored his first with a superb jinking run and finish, fired in from the edge of the area to win it for Barcelona.
Gerard Pique and Sergio Ramos continued their feud long after the final whistle was blown on an extraordinary Clasico.
A war of words between Gerard Pique Sergio Ramos continues
A war of words that often has dominated social media spilled over into real life on Sunday as Sergio Ramos jawed at Gerard Pique moments after the Real Madrid defender was sent off in El Clasico.
After referee Alejandro Hernandez gave Ramos his marching orders for a two-footed lunge on Lionel Messi in the 78th minute, the Madrid defender argued with the official for a few moments. He then put the captain’s armband on Marcelo and started to leave the field.
As he walked off, he noticed Barcelona centre-back Pique and began to make a talking motion with his hand, with cameras capturing Ramos saying, “Talk now. Talk now.”
He later pointed toward the boxes at the Bernabeu, making references to Pique’s previous comments that the Barca defender’s view was that La Liga officials often sit in the box and favour Madrid.
The Madrid man’s red card helped cost his team three points and Pique said: ‘Ramos is going to regret that challenge when he gets home.
‘They are used to very permissive refereeing here and when it doesn’t go that way the referee is the bad guy.’