Barcelona mounted a spectacular comeback to beat Real Madrid 4-3 Sunday and move to the brink of the LaLiga title.
Kylian Mbappe scored a hat-trick for Real but Raphinha's double and goals from Lamine Yamal and Eric Garcia gave Barca a seven-point lead on the reigning champions with three matches remaining.
Hansi Flick's side were knocked out of the Champions League in the semi-finals by Inter Milan Tuesday and risked their season collapsing if they were beaten by Real, but they resisted after Mbappe's early brace.
Barca battled back to claim a fourth Clasico victory from four meetings this season, showing their dominance over Carlo Ancelotti's side.
"We've opened up an important gap, it was key to win this game after the Champions League (defeat), the fans have forgotten it and so have we, let's enjoy this," Yamal told Movistar.
"It was important to win to bring the league title closer and it went very well, we're very happy."
Real had made the perfect start to what is expected to be the Italian coach's final Clasico at the helm.
Mbappe earned a penalty when he was scythed down by Barca goalkeeper Wojciech Szczesny, although the Catalans complained in vain the French forward was offside in the build-up.
The striker beat Szczesny, who dived the right way and got his fingers to it, but could not keep it out.
In the 14th minute Mbappe doubled Real's advantage with a lethal finish after Vinicius Junior played him through, with Barca complaining again about a perceived foul on Yamal earlier in the move.
It was his 26th LaLiga strike, taking him past Barca's Robert Lewandowski on 25 at the top of the scoring charts, and his 38th of the season across all competitions, beating Ivan Zamorano's club record of 37 in a first season with Los Blancos.
Just as they have done on so many occasions this season, Flick's spirited young Barca fought their way back in front with a stirring comeback.
Thibaut Courtois tipped Gerard Martin's drive over, and from the corner Garcia headed home Ferran Torres' flick-on.
Torres flicked wide from close range with an improvised effort and Fede Valverde was booked for a crunching tackle on whirlwind teenager Yamal.
Real could not stop the 17-year old star from levelling with a cultured bending effort beyond Courtois after Torres laid the ball off to him in the box.
Raphinha brace
Two minutes later, Raphinha sent Barca ahead, with Pedri threading a pass through for the Brazilian winger to drill home.
Raphinha headed over from a brilliant Yamal cross with the outside of his boot, something of a trademark for the Spain international.
Mbappe thought he had won another penalty when he fell under pressure from Frenkie de Jong but Video Assistant Referee revealed an offside in the build-up.
Moments later, Raphinha netted his second, picking Lucas Vazquez's pocket on the edge of the area, exchanging passes with Torres and beating Courtois.
Mbappe netted from an offside position before the break, bringing a rollercoaster first half to a close.
Yamal had a goal ruled out for offside early in the second half as Barca looked to put their arch-rivals to the sword.
Flick brought on Alejandro Balde and Andreas Christensen, with the latter cutting out a dangerous ball as Vinicius looked for Mbappe.
Next time around the Brazilian found his man, with Mbappe slotting home his hat-trick as he and Vinicius broke in behind Barca's high line.
Barca appealed for a penalty when Aurelien Tchouameni blocked Torres' shot with his arm, but after watching the incident again the referee decided not to award a penalty.
Real substitute Victor Munoz might have levelled late on but fired high and wide when sent through, and Szczesny denied Mbappe, who had another strike ruled out for offside.
Barca thought they had wrapped up their win with a superb Fermin Lopez solo effort but it was harshly disallowed for handball against the midfielder.
Real had no time left to fight back though, and Barca, who last won the league in 2023, could seal the title as early as Wednesday, should Los Blancos stumble against Mallorca.
RESULTS
Leganes 3 (Cisse 33, Diomande 41, Kumbulla 63-og) Espanyol 2 (Cabrera 79, Milla 90+8)
Barcelona 4 (Garcia 19, Yamal 32, Raphinha 34, 45) Real Madrid 3 (Mbappe 5-P, 14, 70)
Athletic Club 1 (Sanchez 71-og) Alaves 0
Betis 1 (Hernandez 64) Osasuna 1 (Budimir 75)
Saturday
Valencia 3 (Pepelu 8-P, Lopez 18, Duro 37-P) Getafe 0
Celta 3 (Moriba 19, Mingueza 65, Iglesias 90+1) Sevilla 2 (Gudelj 45+8-P, Salas 90+8)
Mallorca 2 (Mascarell 28, Darder 49) Valladolid 1 (Chuki 11)
Girona 0 Villarreal 1 (Eyong 89)
Atletico 4 (Sorloth 7, 10, 11, 30) Sociedad 0
Friday
Las Palmas 0 Vallecano 1 (Garcia 66)