Uruguay striker Cavani struck his first goal in almost six months after being barely used on his return from injury. His goal completed the win to put PSG on 61 points from 24 games.
Thomas Tuchel's side, who also scored through Angel Di Maria, Kylian Mbappe and a Fernando Marcal own goal, lead second-placed Olympique de Marseille by 12 points.
'I don't know what will happen!' - Laporta asks Barca fans to keep supporting team
Lyon, who hit back with goals by Martin Terrier and Moussa Dembele, are in ninth place on 33 points, eight behind Stade Rennais who hold the last Champions League qualifying spot.
PSG were without Neymar, who skipped the game because of a rib injury, but they were inspired up front even if Mauro Icardi had another night to forget.
The Argentine was replaced in the second half by PSG's most prolific scorer Cavani, who netted his 199th goal for the capital side just when they appeared vulnerable.
Di Maria cut back inside the area and beat Anthony Lopes with a low shot at the near post to put the hosts ahead in the 22nd minute.
Mbappe made it 2-0 seven minutes before halftime by flicking the ball past Lopes from Thomas Meunier's cross.
It was a harsh reality check for Lyon, who had started the match with 16-year-old Rayan Cherki livening up proceedings on the right flank.
Lyon fell 3-0 behind two minutes into the second half in farcical fashion as Marcal sent the ball under the bar trying to clear Julian Draxler's back pass in the area.
But the visitors did not give up and Terrier reduced the arrears with a low shot from just inside the box after being set up by Cherki.
Dembele pulled another one back by tapping home from Karl Toko Ekambi's pass after the second-half substitute had outpaced Presnel Kimpembe.
But Cavani found the back of the net from Di Maria's pass 11 minutes from time to wrap it up.
Elsewhere, Montpellier beat St Etienne 1-0 at home to move up to fifth on 37 points.
Messi to miss Metz game due to a knock to his left knee
'He said he was fine' - Poch defends decision to substitute Messi