A year on from completing rousing back-to-back promotions, Thierry Laurey's Strasbourg was set to head into the final weekend of the campaign with its top-flight status in the balance.
Lyon star Nabil Fekir won and converted a penalty before Houssem Aouar was set up by Memphis Depay to overturn Stephane Bahoken's 22nd-minute opener.
But Nuno Da Costa headed an 88th-minute equaliser before winning a free-kick deep into stoppage-time for Dimitri Lienard to send the Stade de la Mosson crowd into raptures.
Lyon is consequently just one point above UEFA Europa League finalist Marseille in third ahead of the final round of fixtures.
Lebo Mothiba's first-half double saw Lille past Dijon 2-1 and the upshot is Toulouse and Troyes are set to complete the bottom three alongside already-relegated Metz.
Toulouse, which took the lead before being thumped 4-2 at Bordeaux, occupies the relegation play-off spot but second-bottom Troyes closed to within a point as Karim Azamoum's goal helped them to a 1-1 draw at Montpellier.
Caen was on the receiving end of a Mario Balotelli brace and went down 4-1 at Nice but only a Toulouse win over Guingamp combined with an eight-goal swing against Patrice Garande's side can threaten its top-flight status.
Nice occupies the final UEFA Europa League qualifying spot and Rennes sealed a place in next season's competition with a 2-0 win to take some of the edge off Paris Saint-Germain's title party at Parc des Princes.