Monaco sealed a spot in the Champions League thanks to a 1-0 win at Lorient in the final round of Ligue 1 matches.
Nice held off a late Toulouse fightback to win 3-2 in their final game of the Ligue 1 season.
Nice confirmed their Ligue 1 status, but they did it the hard way, coming from behind to beat bottom club Lens.
Marseille kept their hopes of Champions League qualification alive after a late comeback saw them beat Monaco 2-1.
St Etienne strengthened their grip on European qualification by hammering Nice 5-0 at the Stade Geoffroy-Guichard.
Caen put a second point between themselves and the Ligue 1 relegation zone after a 1-1 draw with Nice.