Lyon have closed the gap on fifth-placed Saint Etienne to just two points following a hard-fought 1-0 victory over the Ligue 1 leaders Paris Saint-Germain.
Edinson Cavani - who led the line in the absence of Zlatan Ibrahimovic - came close to giving the away side a second-minute lead, but Anthony Lopes tipped the Uruguayan's header onto the post.
At the other end, Salvatore Sirigu had to be alert to thwart a powerful effort by Bafetimbi Gomis.
PSG thought they had taken the lead shortly after when Lucas Digne tapped home after Cavani went to ground, but the referee brought play back as he believed the striker had dived.
Gomis continued to be a threat for the visitors, and he tested Sirigu once more after escaping the attentions of the PSG back line.
Lyon went 1-0 ahead in the 32nd minute when Ezequiel Lavezzi was dispossessed in his own half before Jordan Ferri picked up the ball and lashed it into the back of the net from long range.
Cavani and Yohann Cabaye then wasted good chances as the first half came to a close with PSG still trailing.
The home side were forced to alter their back four early in the second period, with Samuel Umtiti replacing the injured Bakary Kone.
Lyon almost made it 2-0 in the 62nd minute when Nabil Fekir's shot spun away off Alex, but it crept just wide of the post.
PSG then had their second goal of the game disallowed. Cavani followed up an effort by Digne, but he could only scuff it and when Lavezzi tapped it home, the flag was raised.
Lyon continued to threaten, much to the delight of the Stade de Gerland crowd, with Jimmy Briand heading wide before Ferri tested Sirigu with another thumping strike.
Lopes saved well from Lavezzi soon after though, and Arnold Mvuemba showed quick reflexes to block Javier Pastore's effort off the line from the resulting corner.
PSG's final chance fell to both Thiago Silva and Cavani, but neither could quite stretch enough to make contact with Lucas Moura's teasing free kick, and Lyon held on to secure all three points.