Marseille left it late but eventually ground out a 2-1 win at Montpellier that means they have reduced the gap between themselves and Ligue 1 leaders Lille to just a point.
With Lille drawing with Bordeaux on Saturday night, a win for Marseille was a must, but it did not look as thought they would get it when Olivier Giroud gave the home side a 64th-minute lead.
Andre-Pierre Gignac quickly levelled, though, and, after Abdelhamid El Kaoutari brought down Loic Remy for a penalty, the duo scrapped on the field and were sent off, before Taye Taiwo slammed home the spot-kick.
Lyon's title hopes suffered a crushing blow as they were beaten by 1-0 Paris St Germain - a side who could now knock them out of the top three before the season ends.
Claude Puel's men went into the clash knowing a win would move them to within three points of leaders Lille and two of second-placed Marseille who occupy the last automatic qualifying spot for the Champions League.
But Zoumana Camara's goal 14 minutes from the end earned the hosts a victory that moves just a point behind Lyon in third, increasing their chances of earning a Champions League berth themselves.
Arles' immediate return to the second tier was confirmed as Valenciennes' 1-0 victory rubber-stamped their Ligue 1 relegation.
Faruk Hadzibegic's side were destined for an immediate return to Ligue 2 after a dreadful campaign which has seen them win just once and sit rock bottom with just 13 points.
Those woes were compounded today as Gregory Pujol's second-half strike earned Valenciennes victory and confirmed their relegation.