Robert Lewandowski scored an injury-time penalty at the second time of asking as Barcelona secured a nail-biting late win over Celta Vigo to stay in touch with the LaLiga title race.
Lewandowski had already given his side the lead with an emphatic finish on the stroke of half-time but Iago Aspas put his struggling side on course for a draw with a deflected effort soon after the restart.
Lewandowski eventually won it from the spot in the seventh minute of added time, but only after the referee ordered a retake when his first attempt was saved by an encroaching Vicente Guaita. The result leaves them two points behind Girona in second and seven shy of rivals and leaders Real Madrid, having played one game more than both.
At the Metropolitano Stadium, fourth-placed Atletico Madrid ran out 5-0 winners over Las Palmas. Marcos Llorente and Angel Correa scored two apiece and Memphis Depay rounded things out in a one-sided contest.
Osasuna beat Cadiz 2-0 and Sevilla took a goalless draw from Valencia on their visit to the Mestalla.
In Ligue 1, departing Paris St Germain striker Kylian Mbappe found himself left out of the starting XI against Nantes only to step off the bench and bury a penalty.
Having announced his summer departure from PSG, Mbappe had to wait until the 62nd minute to see action but was ready to slot home from the spot to put the finishing touch to a 2-0 win. Lucas Hernandez had earlier put the runaway league leaders ahead on the hour.
Elsewhere, Lille moved back into third on goal difference as hat-trick hero Jonathan David put away Le Havre 3-0.
In Germany, Bundesliga’s relentless leaders Bayer Leverkusen banked another three points with a 2-1 away win at Heidenheim.
Xabi Alonso’s title-chasers have now won seven of their last eight matches, with Jeremie Frimpong and Amine Adli on target this time. Tim Kleindienst set up some late tension with an 87th-minute reply but the hosts could not force a second.
Third-placed Stuttgart fought for a 2-1 win at bottom club Darmstadt despite Pascal Stenzel’s red card at the end of the first half. They now sit five points above Borussia Dortmund, with the latter held 1-1 at Wolfsburg after substitute Yannick Gerhardt responded to Niclas Fullkrug’s early effort.
RB Leipzig won 2-0 against Borussia Monchengladbach, Union Berlin scored the only goal away to Hoffenheim and strugglers Mainz recorded a 1-0 win over Augsburg.
Juventus’ hopes of chipping away at Inter’s Serie A lead were stifled as they were forced to settle for a 2-2 draw at Verona. Juve twice dragged themselves back from a goal down, Dusan Vlahovic’s penalty and Adrien Rabiot’s second-half strike squaring efforts from Michael Folorunsho and Tijjani Noslin.
A point left Massimiliano Allegri’s men nine points behind the Nerazurri, who have a game in hand.
Napoli’s disappointing season continued to underwhelm as they were held 1-1 at home by Genoa. Morten Frendrup put the away side in front and it was not until the 90th minute that substitute Cyril Ngonge grabbed an equaliser.
Mario Pasalic, Teun Koopmeiners and Mitchel Bakker all found the target as Atalanta strengthened their grip on fourth spot at the expense of Sassuolo.