Lille were crowned Ligue 1 champions after a 2-1 victory at Angers on the last day of the season.
It is their first title in 10 years and it is only the second time in nine seasons that Paris Saint-Germain has not finished at the top of the table.
PSG won 2-0 to Brest but needed a mistake from the Lille leaders and it was not to come.
While it could have been a nervous day for Lille, Jonathan David’s 11th-minute strike got them going very early in western France.
Although chances were scarce, they doubled their lead in the first half stoppage time when Burak Yilmaz scored from the penalty spot.
Renato Sanches could have put the game to bed shortly after half-time to fend off a glorious chance, though that mattered in the end.
Brest’s consolation goal came deep into the second-half stoppage time thanks to an Angelo Fulgini goal and Christophe Galtier’s men never seemed in trouble.
This is the fourth time in the history of Lille that they are crowned champions of France while they finish one point ahead of PSG.
Their 1-0 victory in Brest came thanks to an own goal from Romain Faivre and a strike from Kylian Mbappe in the middle of the second half. Neymar had missed the game with the scores still tied for Mauricio Pochettino’s men.
Monaco needed the two teams above them to lose and beat Lens beautifully if they were to capture an unlikely title, but could not draw 0-0 to end their campaign.
At the bottom of the table, Nantes2-1 loss at home for Montpellier saw them relegated to the sides of Nîmes and Dijon.
Juve sneak into the Champions League
Juventus‘4-1 rout of Bologna was enough to secure Champions League football next season at the expense of Napoli.
Andrea Pirlo’s side needed Napoli or AC Milan to drop points and win on the last day or risk a Europa League campaign.
Federico Chiesa put Juve in the lead after just six minutes before Alvaro Morata and Adrien Rabiot scored three goals at the break.
When Morata added a second shortly after half-time to make sure the Old Lady didn’t go off the rails, all eyes turned to the other games, despite the late consolation from Riccardo Orsolini.
Franck Kessie’s penalty in the first half AC Milan 1-0 to Atalanta and despite a nervous ending, he scored a second from the spot in the stoppage time to ensure AC got ahead of their opponents in second place and secured a place in the European top flight in the process.
But further south, Napoli couldn’t see in the middle of the table Hellas Verona. Amir Rrahmani put them in the lead on time, only for Davide Faraoni to catch up with them nine minutes later.
Gennaro Gattuso’s men couldn’t force a winner and slipped out of the top four, with AC and Juve securing their places alongside champions Inter Milan and Atalanta.
Champions Inter Milan beaten Udinese 5-1 earlier today to cap off their formidable title campaign.