Don't let the scoreline mislead you, the Merengues were the far better side in the first half, cutting open their mighty visitors and creating numerous gilt-edged chances. However, a lack of cutting edge in the final third ensured the match is on level terms at the break.
Luis Suarez then broke the deadlock five minutes in the second stanza with a cool out-of-the-boot finish, before Raphael Varane turned Ousmane Dembele's cross into his own net to double the cushion.
Real Madrid's night went from bad to worse when Casemiro clipped the Uruguayan inside the area, and the latter nonchalantly chipped a panenka to put the tie to bed.
The Blaugrana were far from their best, but made the difference by taking their chances rather than fluffing their lines like the hosts. Here are the hits and flops from the match:
#1 Hit: Luis Suarez
The Barcelona No.9 has had better Clasicos in the past. But why he still qualifies as a hit today is because of the top-drawer quality of both his goals on the night.
Following a relatively quieter opening half, Luis Suarez sprung inside the area and latched on to Dembele's pass to produce a finish like a pure poacher, arrowing it into the bottom corner from the edge of the area. And even though Varane claimed the second goal as the Frenchman pushed the ball over the line before Suarez would, the latter bagged a brace with a brilliant penalty.
Not only did he send Keylor Navas the wrong way, but also executed a wowzer of a panenka by clinically looping it into the back of the net. And having scored a hat-trick earlier in the season, his double makes it five against Los Blancos in this campaign, and 11 overall in 14 Clasicos.
Suarez lives for games like this.
#2 Flop: Nelson Semedo
Barcelona left a lot to be desired on various occasions in the game, but Nelson Semedo stands out like a sore thumb. He was the weakest link in his side tonight and was belted black and blue by the likes of Vinicius Junior and Sergio Reguilon.
Completely out of sorts and well off the pace too, Semedo inadvertently provided leeway for the hosts to barge inside the area and create chances. The Frenchman was dribbled past five times and completed only two of his five attempted tackles. He also committed three fouls but his night was summed up when he was booked for scything down Vinicius.
Had it not been for Madrid's own poor finishing, he would have been guilty of a couple of goals. But such performances would cost his side dear in the Champions League.
Barcelona's right flank has never been the same since Dani Alves left, and Semedo, a €30 million signing from Benfica in 2017, is far from emulating the Brazilian legend on this evidence.
#3 Hit and Flop: Vinicius Junior
Still only 18, but Vinicius Junior is a beautiful enigma. He is a promising talent that needs refining. And the theory is only confirmed after his performance tonight.
To make it clear, he was fantastic; a dagger through Barcelona's heart with lung-bursting and eye-catching trickery on the ball. Vinicius was also the chief architect of Madrid's attacking vanguard as he created multiple opportunities by getting in spaces and laying off passes.
His solo run around the hour mark when he dribbled past three players along the way was probably the highlight of his game - a testament to his budding, precocious talent. It's a shame that the Brazilian wonderkid couldn't ice it all with a goal or two.
Not only was he the chief creator, but Vinicius was also at the receiving end of plenty of chances, especially in the first half, but lacked the cutting edge to bury it in the back of the net. In one such moment, he blazed a shot well over the bar with the goal gaping in front of him, and later in the second stanza, dragged an effort just wide off the post.
Easily the best player in white in this match, and he is only going to grow from strength to strength.
#4 Flop: Real Madrid centre-backs
Raphael Varane and Sergio Ramos have been anchoring Real Madrid's defence together for years now, and while it has proved to be one of the best in the past, on occasions, the duo have also been made look like training cones.
Today wasn't exactly either way, but nonetheless disappointing. After a reasonably diligent show in the first half, Ramos and Varane withered away after the break. The Spaniard, in particular, was all over the place and could have done better to close down Suarez for the opener. Even though he didn't make his customary cynical fouls, Ramos was well beaten by the end.
Varane's night could be summed up by the own goal. The French defender accidentally pushed the ball over the line in a desperate bid to clear the danger and also failed to match up with Suarez after the break.
#5 Hit: Marc-Andre ter Stegen
The German shotstopper was the sole bright spot for Barcelona when the visitors went through the motions in the first half. He was on hand to make a string of excellent saves and deserved the clean sheet at least for his stellar showing.
Ter Stegen was a very busy man, regularly called into action as Madrid pushed forward relentlessly. He made four saves in total and also leapt ahead to avert any danger borne aerially. However, his watershed moment was the diving save to deny Reguilon in the second-half.
As the Spanish fullback headed a Vinicius cross goalwards, the German read the flight of the ball well and was quick off his feet to jump to his left, parrying the ball away for a corner.
Had it not been for his crucial interventions, the Blaugrana were sure to have conceded a goal or two. But honestly, he's been doing it since the start of the season and the Spanish champions would worse off without him in the nets.