M’Baye Niang saved Empoli from relegation with the dramatic stoppage-time winner in their 2-1 victory over Roma.

Davide Nicola’s side entered the evening in 18th needed a positive result to avoid relegation or the possibility of a tie-breaking play-off.

Matteo Cancellieri opened the scoring with his 13th-minute strike before Houssem Aouar equalised in the first minute of added time before the half-time.

The sides remained level until Cancellieri turned provider, rolling the pivotal pass for Niang to apply the season-salvaging finish in the third minute of stoppage time.

It ensured they finished one point clear of Frosinone, who were relegated after a 1-0 loss to Udinese, who started the day 17th place but concluded the campaign two places higher. Former Aston Villa striker Keinan Davis scored the only goal.

Serie A champions Inter Milan could only add a single point to their tally after a would-be last-gasp winner was chalked off in their 2-2 draw at Hellas Verona in their final game of the campaign.

Marko Arnautovic saw his 10th-minute opener cancelled out by Tijjani Noslin six minutes later for the hosts, who on Monday secured safety and ultimately finished 13th.

Tomas Suslov fired Marco Baroni’s men into a first-time lead before Aranautovic drew them back level in added time before the break, and while Alexis Sanchez had the ball in the back of Verona’s net in second-half stoppage time, the would-be winner was chalked off after a VAR check for offside.

Atalanta secured at least a fourth-placed finish with a 3-0 victory over Torino, with Ademola Lookman on the scoresheet once again alongside Gianluca Scamacca and a Mario Pasalic penalty.

The win took them to 69 points, just two behind third-placed Juventus, before they face Fiorentina next Sunday in a match postponed from March.

The result also ruled out the possibility of a sixth Serie A spot qualifying for the Champions League next season.

Eighth-place Fiorentina cannot catch Lazio, who will finish seventh, after their 1-1 draw with relegated Sassuolo.

Mattia Zaccagni opened the scoring for Lazio on the hour mark, but Mattia Viti levelled six minutes later.

Defending champions Napoli will not be in Europe after finishing 10th in the table. They ended their campaign with a goalless draw with 14th-placed Lecce.

Xavi’s last game in charge of runners-up Barcelona ended on a high as goals from Robert Lewandowski and Fermin Lopez were enough for a 2-1 victory over Sevilla, whose lone goal came courtesy of Youssef En-Nesyri.

Vedat Muriqi netted a 90th-minute equaliser for Mallorca and Pablo Maffeo grabbed a dramatic match-winner three minutes later to secure an unlikely 2-1 comeback over Getafe and propel them to a 15th-place finish.

Las Palmas finished level on 40 points with Mallorca, but landed in 16th spot with their inferior goal difference after their 1-1 draw with 10th-placed Alaves.

Giuliano Simeone missed a penalty for Alaves before Carlos Vicente put them ahead, but Marc Cardona equalised for Las Palmas.

Celta Vigo and Valencia played out a 2-2 draw to finish their respective campaigns. Carlos Dominguez’s own goal and an Alberto Mari penalty twice put Valencia ahead, with Iago Aspas’ spot-kick and Anastasios Douvikas levelling on each occasion.