Ivan Rakitic's delicate finish was enough to give Barcelona their second
It was an even start to the game but Rakitic's goal 26 minutes into the game put the visitors in front, with the Croatian dinking a classy chip over Thibaut Courtois.
The goal gave Barça more confidence going forward and they threatened to add to their lead towards the end of the first half, but were denied by Courtois on a number of occasions.
Madrid improved in the second half and did cause the Barcelona defence some problems, but they couldn't find a way past the visiting defence as the visitors saw the game out to earn all three points.
The win means that Ernesto Valverde's men have extended their lead at the top of La Liga to ten points - with second placed Atletico Madrid to play on Sunday - with Real Madrid now falling 12 point behind their fiercest rivals after the loss.
Here's a breakdown of the night's events:
Key Talking Point
After suffering an embarrassing 3-0 defeat to their rivals just three days prior (having dominated the game), Real would've been desperate for a response in La Liga. Unfortunately for them, they were outdone by Barcelona for the third time this season.
Santiago Solari's men did have positive spells in the game and were by no means overwhelmed by their opposition, but on the night they just weren't clinical enough and the visitors took full advantage.
With Barcelona having ended Real's chances of winning the Copa del Rey and all-but ended their hopes of catching them in La Liga, Los Blancos will now have to focus on winning the Champions League if they are to win any silverware this season.
Starting XI: Courtois (7); Carvajal (6), Varane (6), Ramos (6), Reguilon (7); Modric (7), Casemiro (6), Kroos (6); Bale (6), Benzema (6), Vinicius (7).
Substitutes: Valverde (7), Asensio (6), Isco (6).
STAR MAN - On a night where Madrid were left frustrated, it was the youngster Vinicius Junior who caused Barcelona the biggest problems. His pace looked to trouble the visiting defenders and he did manage to get a few shots away to keep Marc-Andre ter Stegen on his toes.
vinicius junior is like the only one trying to get a goal for Madrid— Kierannn酪 (@Kierdo97) March 2, 2019
He will be left feeling disappointed that he couldn't impact the game more and that he didn't put his name up in lights, but he can at least hold his head up high after a solid performance.
Key Talking Point
It was the perfect night for Barcelona. They beat their rivals for the second time in three days in their own back garden, and in doing so, effectively knocked them out of the title race once and for all.
It wasn't their finest performance this season but they did enough to get themselves ahead and limit Madrid's threat going forward.
It's a great time to be a Barcelona fan as they currently have one hand on the La Liga trophy, they find themselves in the final of the Copa del Rey and find themselves in a healthy position heading into their Champions League round of 16 second leg clash with Lyon.
Starting XI: ter Stegen (7); Roberto (8), Pique (9*), Lenglet (8), Alba (7); Rakitic (8), Busquets (7), Arthur (7); Messi (8), Suarez (7); Dembele (7).
Substitutes: Vidal (6), Coutinho (5), Semedo (N/A).
STAR MAN - It was Rakitic's goal that'll grab the headlines, but Gerard Pique put in a defensive masterclass on the night. It was a faultless performance from the Spaniard and he seemed to win every header on the night.
Unbelievable performance from Pique today— Rk (@RkFutbol) March 2, 2019
You can forget about Chiellini, Ramos, Van Dijk and the other centre-backs. Gerard Pique is still the main man, even at his big age of 32-years-old.— Asif. (@Asif9707) March 2, 2019
Pique being downright disrespectful. Wow. — Mimi. (@BaddieMimz) March 2, 2019
He dealt with whatever was thrown at him and he showed great leadership in Barça's back line, despite facing adversity from the