Cornet put OL ahead at the Stade Velodrome with a fine finish in the 24th minute.
The hosts were reduced to 10 men midway through the second half when Duje Caleta-Car was sent off, and Lyon scored twice more late on through substitute Moussa Dembele in the 84th minute and Cornet in the 86th.
With two more rounds of matches to go, Lyon, in the final Champions League berth, are four points clear of fourth-placed St Etienne.
Sixth-placed Marseille, meanwhile, can no longer qualify for Europe, lying seven points adrift of Les Verts.
After Lyon goalkeeper Anthony Lopes saved a curling Lucas Ocampos effort and Mario Balotelli scuffed a low shot wide of his goal, the visitors grabbed the lead thanks to some great work from Cornet.
The Ivory Coast forward controlled the ball when it was drilled into the box by Houssem Aouar, held off Boubacar Kamara and cracked a shot past Steve Mandanda.
Five minutes later Memphis Depay had the chance to make it 2-0 but rather than shoot, opted to turn, tried to pass to Nabil Fekir and gave the ball straight to Luiz Gustavo.
Balotelli went down in the box shortly after as he was challenged by Jeremy Morel and beat his fists against the turf at referee Ruddy Buquet's verdict that it was no penalty.
Kevin Strootman then had a deflected effort bound for the Lyon goal blocked by Marcelo, before Depay got past Mandanda but failed to curl his shot on target from a tight angle.
Early in the second half, Fekir was unable to make contact with a cross in a great position, and at the other end Balotelli sent a far-post header just wide.
The Italian then diverted the ball goalwards with his arm, with Leo Dubois clearing it off the line.
As Marseille continued to pressurise, Gustavo had a shot deflect narrowly wide and Lopes made good saves to deny Ocampos and Hiroki Sakai.
But the home side's momentum was then hit as Caleta-Car pulled back Martin Terrier and Buquet brought out a red card.
It was Lyon doing virtually all the attacking thereafter, as Mandanda saved a Terrier header, Cornet netted but was flagged offside and Dembele fired into the side-netting.
The second goal came via substitute Dembele when he collected the ball from a Tanguy Ndombele flick and sent a fine strike past the goalkeeper.
Two minutes later Kamara gave the ball away to Aouar, who lofted it forward and Cornet slotted in the third.