Karim Benzema’s last-gasp winner sealed Real Madrid’s stunning comeback as they recovered from 2-0 down to beat Sevilla 3-2.
The striker’s 39th goal of the season sent Madrid 15 points clear at the top of LaLiga and on the verge of the title.
Sevilla sit third, behind Barcelona on goal difference having played two games more.
Rodrygo and Nacho had earlier cancelled out Sevilla’s lead.
Ivan Rakitic and Erik Lamela had given the hosts a commanding advantage but their hopes of catching Real at the top are virtually over.
Yannick Carrasco’s stoppage-time penalty earned Atletico Madrid a late 2-1 win over Espanyol.
The 10-man hosts were on course for a frustrating draw before the midfielder struck from the spot.
Carrasco had given Atletico the lead seven minutes after the break but they had Geoffrey Kondogbia sent off with 19 minutes left.
Espanyol took full advantage with Raul De Tomas scoring with a free-kick shortly afterwards, but they were beaten at the death.
Mid-table Celta Vigo beat Athletic Bilbao 2-0 thanks to goals from Iago Aspas and Beltran Fran.
Levante were 4-1 winners against Granada to boost their survival hopes, although they are still four points from safety.
In Germany, Bundesliga leaders Bayern Munich breezed past relegation-threatened Arminia Bielefeld 3-0 to move one game from a 10th straight title.
Jacob Laursen’s own goal opened the scoring, with Serge Gnabry and Jamal Musiala easing Bayern to victory.
They are nine points clear of second-placed Borussia Dortmund, who they face next week.
RB Leipzig moved above opponents Bayern Leverkusen and into third after Dominik Szoboszlai’s goal earned them a 1-0 win.
Hoffenheim’s European push stuttered after a 0-0 draw with rock-bottom SpVgg Greuther Furth.
Taiwo Awoniyi and Grischa Promel scored in the first half for Union Berlin as they beat Frankfurt 2-0.
In France, PSG moved to the brink of the Ligue 1 title with a 2-1 win over nearest challengers Marseille.
Neymar’s early goal was cancelled out by Duje Caleta-Car after goalkeeper Gianluigi Donnarumma came and missed a corner.
But PSG won it in first-half stoppage time when Gerson handled in the area and, after a VAR check, Kylian Mbappe scored from the spot.
William Saliba had a late goal disallowed for Marseille as PSG moved 15 points clear at the top with six games left. They can win the league at Angers in their next game.
Lyon recovered from their Europa League exit to West Ham by smashing struggling Bordeaux 6-1 earlier in the day, with Moussa Dembele scoring twice.
Nice kept up their chase of the top three by beating Lorient 2-1 thanks to an Andy Delort double.
Metz drew 1-1 with Clermont in their basement battle, Nantes’ clash with Angers also finished 1-1, as did Troyes’ game against Strasbourg, while Montpellier played out a goalless draw with Reims.