Already crowned champion, Paris Saint-Germain finished with a 3-1 defeat at Reims despite a goal from Kylian Mbappe, the league's top scorer with 33.
PSG sealed a sixth league title in seven years but failed to retain its French Cup and League Cup crowns this season. The Qatari-backed club was also eliminated in the Champions League last-16 for the third straight year.
The capital club finished with five league defeats, its worst total since 2012-13.
Runner-up Lille will join PSG in the Champions League group stages next season. Third-place Lyon should start the competition in the qualifying round but will go directly into the groups if Chelsea, which has already qualified, wins the Europa League final against Arsenal on Wednesday.
Saint-Etienne finished fourth and will play in the Europa League.
One Last Shot
Monaco retained its top-flight status despite losing 2-0 at Riviera rival Nice on the final day of the French league campaign on Friday.
Two years after making it to the Champions League semifinals, the Principality team slumped to an 18th defeat in 38 matches to end up fourth from bottom.
Monaco, champions in 2017, finished two points above Dijon, which needs to win a playoff to remain among the elite next season after beating Toulouse 2-1.
Caen's slim hopes of staying up were dashed by a goal from Younousse Sankhare, who sealed a 1-0 win for visiting Bordeaux. Caen is relegated alongside bottom club Guingamp, which was already down and lost 2-1 at Amiens.
Runner-up to Paris Saint-Germain last term, Monaco suffered a woeful season highlighted by the firing and re-hiring of coach Leonardo Jardim, who returned after Thierry Henry failed in his first managerial post.
"The most important thing was to stay up," striker Radamel Falcao said. "Unfortunately we did not win, but we created many chances."