Toulouse may have put to an end to Lyon's hopes of playing Champions League football next season as they gave their own bid for Europa League action a huge boost with a 3-0 win.
Early goals from Francois Siriex and Emmanuel Riviere set them on course for a win which draws them level with Lyon in fourth place, six points adrift of third-placed Lille with six games left to play.
Umut Bulut completed the scoring in the final minute.
Knowing a defeat could spell the end of their own European dream, Toulouse began brightly and were ahead after just six minutes when Mouhamadou Dabo fluffed his clearance of Adrien Regattin's cross and the ball fell for Siriex to rifle home from close range.
Kim Kallstrom warmed the palms of Toulouse goalkeeper Ali Ahamada with a long-range free-kick, but before Lyon could add any further pressure, the hosts doubled their lead in the 22nd minute.
Regattin was the provider again, with his cross just eluding Siriex but landing perfectly for Riviere to head home.
Alexandre Lacazette shaved the post of Ahamada's goal moments later while Mohamed Fofana bailed out his goalkeeper, clearing off the line when Ahamada failed to collect a through-ball from Kallstrom into the path of Bafetimbi Gomis.
Lyon looked to build on that pressure when the second half resumed with both Michel Bastos and Lisandro Lopez brought on to boost their attacking options.
But instead it was Toulouse who advanced with Hugo Lloris needed to make a good save to deny Paulo Machado.
The Lyon goalkeeper then kept out Riviere's header but was a spectator when Machado's free-kick caused chaos in his area, rebounding off both Etienne Capoue and Cris before Moussa Sissoko fired the loose ball wide.
As the game moved into the final 10 minutes, Ahamada kept Lyon at bay once more, a fine reflex save keeping out Maxime Gonalons' header.
The hosts then made sure with injury-time looming, with Capoue's fine through-ball allowing Bulut to break and poke the ball beyond Lloris.