Keeping Lionel Messi in check again in what could turn out to be his last La Liga clasico, Real Madrid continued the impressive form that has resulted in them taking top spot in the title race.
Four days after beating Liverpool in the first leg of the Champions League quarter-finals, defending league champions Madrid defeated Barcelona 2-1 to return to the summit in Spain.
"We have to enjoy what we've been doing. We got two very good results and it wasn't easy," Madrid coach Zinedine Zidane said.
"Being in the lead won't change anything for us. We have to keep working hard."
The victory in driving rain in the Spanish capital left Madrid tied on points with Atletico Madrid, who on Sunday can return to the top when they visit sixth-place Real Betis.
Madrid are ahead of their city rivals on the head-to-head tiebreaker.
Barcelona, who had been unbeaten in 19 straight league games, are one point off the lead.
The 33-year-old Messi, who has gone seven straight clasicos without a goal, has his contract with Barcelona ending this season.
One of Messi's best chances was from a corner kick that curled across the area and hit the far post in first-half stoppage time.
A fine Karim Benzema finish and a deflected Toni Kroos strike in the first half gave Madrid their sixth straight win in all competitions. - despite the late red card to Casemiro.
Barcelona got on the board in the second half with a goal by Oscar Mingueza.
They went close to grabbing a point but a shot from young substitute Ilaix Moriba struck the crossbar in the final play of the match.
The result ended Barcelona's six-match winning streak in the league and left their coach Ronald Koeman fuming over a decision not to award a late penalty for what he believed was a foul on substitute Martin Braithwaite.
"I only ask that the officials get things right. It's a penalty," he said.
"I don't know why we have VAR in Spain. Everyone has seen the incident... the way Martin falls, it has to be a foul."
Elsewhere, Juan Cala, who last weekend was accused of racially insulting Valencia defender Mouctar Diakhaby, played from the start in Cadiz's 1-0 win at Getafe.
Athletic Bilbao drew 0-0 at home with second-to-last Alaves.
The winless run of last-place Eibar reached 14 matches as they went down 1-0 to eighth-place Levante.