Paris Saint-Germain got their bid for a record 11th French league title back on track by beating Troyes 3-1 on Sunday after a troubled week for the Qatar-owned club.
After PSG lost to Lorient at home the previous weekend, angry fans protested outside the club's headquarters and at the home of injured Brazilian star Neymar.
Adding to the sense of crisis, the club suspended Lionel Messi for a reported two weeks after he made an unauthorised trip to Saudi Arabia.
But the win at relegation-threatened Troyes, combined with Marseille's 2-1 defeat at Lens on Saturday, gave PSG a six-point cushion over second-placed Lens.
Kylian Mbappe scored first with a close-range header after seven minutes, drawing level with Lyon's Alexandre Lacazette on 24 league goals this season.
Vitinha's right-footed finish on 58 minutes seemed to have put PSG on the way to victory but they lowered their guard and allowed Xavier Chavalerin to pull a goal back for Troyes when he headed past Gianluigi Donnarumma.
PSG poured forward looking for a third goal and after Mbappe's poked finish from Renato Sanches was saved, Fabian Ruiz curled in the rebound to make the three points safe.
Coach Christophe Galtier said: "That looked far more like what we have to do to take control of games and have consistency. It was an important win."
Galtier refused to comment on Messi's suspension, saying it was an "internal matter".
Former Arsenal forward Lacazette had a remarkable day, scoring four goals including a penalty with the last kick of the match as Lyon fought back from three goals down to beat Montpellier 5-4.
"I believed in it," said Lacazette. "I believed because I know a game is never over and lasts 90 minutes."
In an extraordinary game, Elye Wahi also scored four goals for the visitors, who led 4-1 after 55 minutes.
Lyon made the most of slips on Saturday by Lille and Rennes, the teams above them, to lift themselves into the European qualification picture.
The 31-year-old Lacazette, who returned to Lyon last summer after five seasons with Arsenal, headed his side ahead in the 30th minute.
But Wahi profited from errors by midfielder Johann Lepenant and a foul by Dejan Lovren which yielded a penalty before pouncing on another error to chip the ball over goalkeeper Anthony Lopes and run on to put Montpellier 4-1 ahead.
Lacazette started the fightback in the 59th minute, running onto Bradley Barcola's cross to score.
Lovren headed a goal in the 70th minute and Lacazette equalised from another Barcola assist in the 82nd minute.
Nine minutes into added time Lyon's last chance of victory seemed to have gone when Barcola blazed over. With time up, referee Clement Turpin reviewed the buildup and ruled that Christopher Jullien had wrestled Lacazette to the ground.
The striker drilled home the penalty to complete a memorable comeback win.
The result brought Lyon three points behind Lille who occupy fifth place.
Earlier, fourth-placed Monaco pulled five points clear of Lille with a 2-1 win at Angers.
Nantes meanwhile continued their slide towards Ligue 2 as they lost 2-0 at home to relegation rivals Strasbourg.
They remain 17th in the 20-team league, but this season four clubs go down as Ligue 1 will shrink to 18 clubs next season.
After starting the day trailing Strasbourg only on goal difference, Nantes are two points behind 16th-placed Auxerre.
"We're not good, but 16th place is just two points away. It's in our hands," said Nantes coach Antoine Kombouare.