Following their defeat midweek, which subsequently ended the Ligue 1 title race, Lens were playing for pride here with second place already tied up.
Lyon, meanwhile, knew only a victory would give them a chance to pip Lille to third.
Yet it was Lens who got off to a dominant start, scoring twice in the opening 32 minutes.
First, Kyllian Antonio played a sublime defence-splitting pass to release Wesley Saïd down the inside-left channel, and the forward curled an inch-perfect strike into the far-right corner.
Lyon were struggling to gain a foothold in the contest, and Les Gones were 2-0 down just beyond the half-hour.
Released down the left in the box once again - this time by Amadou Haidara - Saïd produced another clinical strike past Dominik Greif, firing into the roof of the net.
Lens capped off a fine half with a third strike in stoppage time, with a counter-attack ending in Florian Thauvin carrying the ball up the pitch before slipping in Florian Sotoca, who beat Greif with a low drive at his near post.

Paula Fonseca made a double change ahead of the restart in an attempt to try and turn things around in their final game of the season.
The home side certainly had more possession in the second half and Afonso Moreira had an opportunity after cutting in from the left, but his shot was comfortably gathered by Mathieu Gorgelin.
Any hope of a comeback was very quickly eradicated, though, as Lens added a fourth goal on 54’ after slicing through the Lyon defence with ease.
Andrija Bulatović sent Thauvin through on goal and the Frenchman produced the pick of his side’s goals with an exquisite chip over a despairing Greif.
Lyon’s high line continued to be routinely breached, yet they at least remained a threat at the other end as Roman Yaremchuk struck the crossbar after combining well with Pavel Sulc in the box.
The hosts continued to press for a goal as Corentin Tolisso sent an effort narrowly wide of the left post, before Gorgelin was called into action to deny Sulc’s first-time effort.
In the end, Lyon were unable to restore any pride, ending a roller-coaster season - which included a 13-game winning run - with a 4-0 humiliation at home.
Lens were purring all night and look perfectly poised to win their first-ever Coupe de France against a Nice side who will also be battling in the Ligue 1 relegation play-offs.
Flashscore Man of the Match: Andrija Bulatovic (Lens)

