Karim Benzema tested Marc-Andre Ter Stegen in the opening minute, and his opposite number, Robert Lewandowski, did the same to Thibaut Courtois.
Raphinha had a decent chance to open the scoring with a header, but Courtois was equal to the task. The first goal came minutes later.
Madrid worked the ball into the box, and Vinicius Jr attempted a cross, but Ronald Araujo inadvertently turned the ball into his net.
Barcelona started pushing for an equaliser and came close when Andreas Christensen headed a Raphinha cross wide from a great position. The Catalans were leaving space behind for Madrid counters.
The Dane nearly equalised on 31 when he flicked a cross toward the goal, forcing the Belgian shot-stopper to go down and save.
Barcelona kept Courtois busy, and Raphinha forced him to tip a shot over the bar two minutes later.
Just before the break, Barca netted their equaliser as Sergi Roberto crashed a shot into Courtois’ left-hand bottom corner.
The second half struggled to get going, but Lewandowski turned and made Courtois scramble across his goal with a left-footed shot.
He tried an incredible acrobatic effort moments later that had Courtois scrambling across his goalpost. Raphinha was next to test the keeper.
It was one-way traffic as Lewandowski fired into the side netting on 75. Benzema had been relatively quiet but reminded Ter Stegen of his presence with a quick shot.
Madrid had the ball in the net when substitute Marco Asensio turned in Dani Carvajal’s cross, but VAR overturned it for offside.
In the dying moments, Barcelona sealed the tie as Franck Kessie finished a neat cross from Alejandro Balde to give Xavi Hernandez’s men a 12-point lead at the top of the table.
Barcelona vs Real Madrid: Player Ratings
Marc-Andre Ter Stegen (7/10) – He could not do anything about the goal conceded, but he distributed well.
Ronald Araujo (6/10) – The Uruguayan struggled against Vinicius Jr and mistakenly turned the ball into his net for the opener.
Jules Kounde (7.5/10) – The centre-back looked stellar against Karim Benzema, expertly shutting down his international teammate.
Andreas Christensen (7.5/10) – The former Chelsea man was calm and composed no matter the chaos around him. He also got into good positions to score.
Alejandro Balde (7/10) – The La Masia graduate had some silly giveaways but delivered a crucial assist for his side.
Sergi Roberto (6.5/10) – He took his goal well, but other than that, he was a passenger for most of the game.
Sergio Busquets (7/10) – The defensive midfielder broke up attacks and kept the ball moving forward with all his experience.
Frenkie de Jong (6/10) – He was composed on the ball but could not show his best version of himself.
Raphinha (8/10) – MOTM – The Brazilian looked very dangerous against Los Blancos and could have scored today. He has been exciting recently.
Gavi (6/10) – The young Spaniard could not do much from the left wing. He struggled to influence the game.
Robert Lewandowski (7.5/10) – The striker kept probing and testing Courtois but did not get a goal for his efforts.
Franck Kessie (7.5/10)
Ansu Fati (5/10)
Ferran Torres (N/A)
Thibaut Courtois (7.5/10) – The former Chelsea man looked superb, keeping his side in it but could not do anything about the goals conceded today.
Dani Carvajal (7.5/10) – The right-back did well against Gavi and kept him quiet. He got forward when he could. He could have had an assist today.
Eder Militao (6/10) – The centre-back struggled to deal with Lewandowski’s presence and was second-best against the Pole.
Antonio Rudiger (6/10) – The German was solid for the most part today, and there was nothing he could do about the goals his side conceded.
Nacho Fernandez (6/10) – Real Madrid’s Mr dependable struggled against Raphinha but made crucial interventions to keep his side in it.
Luka Modric (7/10) – The Croatian was constantly probing, pushing, and connecting defence to attack.
Eduardo Camavinga (6/10) – The former Rennes man has taken over as the first-choice defensive midfielder for Real Madrid and did okay today.
Toni Kroos (5.5/10) – He struggled to control proceedings today. He kept things ticking, but that was about it.
Fede Valverde (5.5/10) – He worked hard down the right wing but could not affect the game positively.
Karim Benzema (6.5/10) – Today was not the Frenchman’s day. He barely got a sniff.
Vinicius Jr (7/10) – The electrifying Brazilian winger was up for it today against Araujo and helped create the opener off the Barcelona defender.
Ferland Mendy (6/10)
Aurelien Tchouameni (N/A)
Dani Ceballos (7/10)
Marco Asensio (7/10)
- Postecoglou confirms huge injury blow for Tottenham ahead of Crystal Palace clash
- FA Cup quarter-final TV picks confirmed, ITV will show headline fixture between Man Utd and Liverpool
- Preview: Man City vs Man United – stats, team news, line-ups
- Crystal Palace shareholder John Textor slams Premier League financial rules
- Conor Gallagher determined to stay at Chelsea despite contract stand-off and Tottenham interest
- Eric Dier makes permanent switch to Bayern Munich from Tottenham
- Premier League manager of the month nominees for February revealed
- Paul Pogba receives four-year ban for doping
- Man United fans in uproar as Old Trafford relocation plans spark outrage
- Liverpool to make one last attempt to bring back Michael Edwards to lead post-Klopp rebuild