AC Milan stayed top of Serie A after a late goalkeeping clanger gifted them a 1-0 home win against Fiorentina.

Rafael Leao took advantage of an error from keeper Pietro Terracciano eight minutes from time to drill home low.

The win keeps Milan, who are chasing their first league title since 2011, two points clear of city rivals Inter with three games of the season remaining.

Inter, beaten by Bologna on Wednesday, won 2-1 at Udinese to stay in touch with the Rossoneri.

Ivan Perisic and Lautaro Martinez were on target before the break, with Ignacio Pussetto pulling one back for Udinese 18 minutes from time.

Leonardo Bonucci scored twice, including the winner after 76 minutes, as Juventus secured Champions League football next season by beating Venezia 2-1.

Bottom side Venezia, who sacked coach Paolo Zanetti in midweek, had equalised through Mattia Aramu five minutes earlier.

Juventus' fourth spot was confirmed by Roma’s goalless draw with Bologna later on Sunday evening.

Jose Mourinho’s side were guilty of wasting several chances and failed to climb above Roman rivals Lazio into fifth place.

Andrea Belotti scored an 18-minute hat-trick as Torino fought back to win 3-1 at Empoli.

Szymon Zurkowski put Empoli ahead after 56 minutes, but Belotti converted two penalties after Petar Stojanovic had been sent off for the home side.

Belotti then completed his hat-trick in the sixth minute of stoppage time.

With Real Madrid having secured the LaLiga title on Saturday, Barcelona moved back above Sevilla and into second place with a 2-1 home victory over Mallorca.

Memphis Depay - pictured above - gave Barca a 25th-minute lead and Sergio Busquets doubled the lead nine minutes after the interval.

Antonio Raillo gave Mallorca hope 11 minutes from time but Barcelona claimed a first home win in four games after defeats to Eintracht Frankfurt, Cadiz and Rayo Vallecano.

Radamel Falcao earned Vallecano a 1-1 draw against Real Sociedad by cancelling out Alexander Sorloth’s first-half effort.

Elche and Osasuna also drew 1-1, as did Granada and Celta Vigo.

Granada stay in the bottom three – one point behind Mallorca and Cadiz – but Darwin Machis’ equaliser in the second minute of stoppage time may yet prove crucial.

In Ligue 1, fourth-placed Monaco beat Angers 2-0 as Wissam Ben Yedder added to an Abdoulaye Bamba own goal.

Nice stay fifth, two points further back, with Andy Delort’s 74th-minute winner proving decisive at Bordeaux.

Castello Lukeba, Moussa Dembele and Karl Toko Ekambi scored second-half goals as Lyon kept alive slim hopes of Champions League qualification with a 3-0 win at Marseille.

Renato Sanches and Burak Yilmaz were sent off as nine-man Lille crashed 3-0 at Troyes, with the hosts’ goals all coming from the penalty spot.

Portugal midfielder Sanches picked up two yellow cards in quick succession just after half-time, and Turkey striker Yilmaz was banished for a poor 68th-minute tackle from behind.

Florien Tardieu dispatched spot-kicks either side of Ike Ugbo’s penalty 10 minutes into the second half.

Brest survived the first-half dismissal of Romain Del Castillo to beat Clermont 2-0 with Lilian Brassier and Steve Mounie netting.

Reims won 2-1 at Lorient as Arber Zeneli and El Bilal Toure profited from the visitors’ only shots on target.

Montpellier scored twice in the final 10 minutes to secure a 2-2 draw against bottom-placed Metz, who are eight points from outright safety with three games to play and six adrift of the relegation play-off spot.