Real Madrid moved top of La Liga with victory over Barcelona in an El Clasico played in torrential rain at the Alfredo Di Stefano Stadium.
Karim Benzema broke the deadlock with a sublime near-post flick – his ninth goal in his past seven La Liga games.
Real doubled their lead before half-time through Toni Kroos’ deflected free-kick.
Oscar Mingueza pulled one back for Barca before Madrid’s Casemiro was shown a late red card.
Barca midfielder Ilaix Moriba’s well-struck shot came back off the crossbar in stoppage time as the hosts held on.
The result takes Real above city rivals Atletico Madrid because of their superior head-to-head record.
Atletico, who led La Liga by 10 points as recently as 31 January, can reclaim top spot with victory at Real Betis on Sunday.
Real Madrid manager Zinedine Zidane said: “I feel very happy. We started the game very well. It was a very complicated match overall, but it was a deserved victory.
“I think we could have scored a third goal, but it’s an important win. We did our job today.”
Barcelona manager Ronald Koeman said: “I think everyone who saw the game will see that we can be very unhappy with the result.
“I think we weren’t good at all in the first 45 minutes. We weren’t good in attack or in defence, but in the second half we improved.
“We need to be better when making key decisions. They’re decisions that can cost us the game and in the end they did.
“I think we should have got a clear penalty towards the end, and I don’t know why it wasn’t reviewed by VAR.”