An entertaining start saw Federico Valverde put Madrid ahead inside the first five minutes. Karim Benzema spotted the midfielder's run and he finished confidently past keeper Neto. The lead lasted just three minutes though, as Ansu Fati converted Jordi Alba's cross. Lionel Messi and Benzema both had shots well saved before half-time.
After the break, Philippe Coutinho headed just wide before Madrid were awarded a penalty for Clement Lenglet's shirt pull on Sergio Ramos. Toni Kroos could have added another but was denied by a double stop by Neto, who went on to save from Ramos before Luka Modric's composed finish secured the three points.
Madrid went into this match under huge pressure, needing to react after two surprise home defeats in a week to Cadiz and Shakhtar Donetsk. They responded with a blistering start, taking the lead early, and while Barca hit back soon enough, Zinedine Zidane's team ended the first half on top and competed well throughout the second period.
The performance of Valverde -- not just scoring the opening goal, but as a whole -- was encouraging too. The Uruguayan impressed when he first arrived into the Real Madrid team in 2019, looking a must-pick in big games, but his form dropped off a little in 2020. Here he was back to his best, giving everything before being forced off feeling unwell.
Zidane's options at right-back are getting more scarce every game. First-choice Dani Carvajal is out with a knee injury, reserve Alvaro Odriozola has a calf problem, and Nacho limped off here with discomfort in his thigh. Lucas Vazquez filled in, and Ferland Mendy can do a job on the right, but neither is a long-term solution.
Madrid will also have been disappointed to concede so soon after going ahead, having barely three minutes to enjoy their early lead. Ultimately it didn't matter, and while the team's miserly defence was key to their title-winning run at the end of last season, and it has been breached far too easily of late.
Manager rating out of 10
8 -- Zinedine Zidane added to his enviable record at Camp Nou as coach, unbeaten with three wins and three draws from six visits. This time he selected an attacking team, opting for 4-3-3 over 4-4-2. That meant picking Valverde over Modric, a big call which paid off.
Zidane was forced into an early change with Nacho's injury, bringing on Vazquez, and had to replace Valverde with Modric later -- and both of those decisions were spot on, too.
Player ratings (1-10; 10 = best, players introduced after 70 minutes get no rating)
GK Thibaut Courtois, 7 -- Played well even if he couldn't add to the two clean sheets kept in both of last season's Clasicos. Made a crucial first-save from Lionel Messi.
DF Nacho, 6 -- Picked at right-back, a position he occupied when Barca won 5-1 at Camp Nou in October 2018. Picked up a yellow card and then a thigh injury which forced his withdrawal.
DF Raphael Varane, 6 -- Criticised and rightly so against Shakhtar, but better here. Couldn't quite get back in time to block Alba's cross for the Barca equaliser.
DF Sergio Ramos, 8 -- His 45th Clasico, the most of any player, ever. Back in the team after missing the defensive disaster against Shakhtar through injury. Couldn't keep up with Ansu for his goal, but made up for it by putting away his second-half penalty in typically confident fashion and could have scored again later.
DF Ferland Mendy, 7 -- Returned to his natural left-back role, having been one of Madrid's better performers in midweek on the right. Up against a quiet Pedri and a much more impressive Sergino Dest.
MF Casemiro, 6 -- Booked for a first-half tackle on Messi, before a risky challenge on the same player inside the box saw the Brazilian fortunate to make contact with the ball.
MF Toni Kroos, 8 -- Rested in midweek, Kroos' influence in midfield is underrated and in games like this he is essential. Had the energy to get forward into the box with five minutes to go, only to be denied twice.
MF Fede Valverde, 8 -- Took his opening goal brilliantly after a lung-bursting run into the box. Worked incredibly hard before being taken off feeling dizzy in the second half.
FW Vinicius Junior, 5 -- Scored in the last Clasico in March. Could have doubled Madrid's lead shortly after Valverde's opener, but his control let him down. A disappointing game overall.
FW Marco Asensio, 6 -- Played on the right, as he did in midweek, up against a back-from-injury Jordi Alba. One dangerous-looking first-half run, but otherwise largely quiet.
FW Karim Benzema, 7 -- Turned provider with an expertly weighted pass for Valverde's goal. Went into this match having only scored three times in 18 visits to Camp Nou, but his six assists in Clasicos at this stadium put him ahead of the likes of Messi, Xavi or Iniesta.
FW Lucas Vazquez, 8 -- Replaced the injured Nacho at right-back and performed admirably.
MF Luka Modric, 7 -- Surprisingly left out of the starting XI. Brought on to help see out the game, and ended up scoring an effortlessly cool looking third goal.
FW Rodrygo Goes, NR -- Came on for Asensio for the last 10 minutes.