The final day of the French Ligue 1 delivered chaos, heartbreak and salvation as Abdoulaye Touré’s 96th-minute penalty kept Le Havre in the top flight and triggered a late reshuffle across the table.
Le Havre came from behind to beat Strasbourg 3-2, with Touré netting twice from the spot.
The result preserved their Ligue 1 status, denied Strasbourg a return to European football and dropped Reims to 15th by the slimmest of margins.
Lyon, presumed out of the European picture, snuck into sixth place after a 2-0 victory over Angers, thanks to a brace from Alexandre Lacazette, who reached 200 goals for the club.
They secured a spot in the UEFA Conference League, overtaking Lens at the death.
Nice produced a brutal statement to secure Champions League qualification, hammering Brest 6-0 with goals from Guessand, Laborde, Bouanani, Moffi and Abdi. Lille’s 2-1 win over Reims proved irrelevant, as they had to settle for a Europa League place in fifth.
Champions Paris Saint-Germain closed out their campaign with a 3-1 comeback win against Auxerre, maintaining a 19-point lead at the top and shifting their focus to a possible treble.