Saint-Etienne missed a chance to climb above Nice and into third place as they were held to a 1-1 draw at mid-table Marseille in Ligue 1 on Sunday.
Christophe Galtier's men looked set to chalk up their sixth away win of the league season after Kevin Monnet-Paquet fired them into the lead with just five minutes left at the Stade Velodrome.
But despite having played for the final half hour with ten men following the dismissal of Nicolas N'Koulou, the hosts managed to snatch a point when Michy Batshuayi nodded home four minutes into stoppage time.
Lyon failed to take advantage of Saint-Etienne's late slip as they slumped to a 1-0 defeat at the hands of struggling Lille, finishing the game with just nine men.
Frederic Antonetti's men came into the game having won just one of their last eight league matches.
Sofiane Boufal's 28th-minute free-kick, however, proved enough to secure his side their sixth home win in Ligue 1 this season, while the second-half dismissals of defender Christophe Jallet and midfielder Clement Grenier compounded a disappointing night for the visitors.
Elsewhere, Saidi Ntibazonkiza's 54th-minute effort secured three points for Caen at the expense of Stade Rennes.
The Burundi midfielder's goal was his first of the season, with Herve Bazile providing the assist.