Monaco salvaged their Ligue 1 place despite losing 2-0 at Nice on Friday in the final game of a season in which they were always in danger of going down, while Caen were relegated.
The result left Monaco in 17th place with 36 points, two ahead of Dijon, who will play RC Lens in a promotion/relegation playoff after beating Toulouse 2-1 at home.
Caen will join already-relegated basement side En Avant Guingamp in Ligue 2 next season after a 1-0 home loss to Girondins de Bordeaux left them second from bottom on 33 points.
Champions PSG finished the season with a 3-1 defeat at mid-table Stade de Reims.
Monaco started against Nice at the Allianz Riviera with a better goal difference (-17 to -24) than Caen, the only team who could catch them, but fell behind against the run of play.
Coach Leonardo Jardim returned to Monaco in January, after being replaced by Thierry Henry in October, and the Portuguese saved the principality club, who picked up 15 points in seven games between February and mid-March.
With all the Champions League and Europa League qualifying spots having already been decided last weekend, second-placed Lille lost 3-1 at Stade Rennes and Olympique Lyonnais, who are third, grabbed a 3-2 comeback victory at Nimes.