Centre back Aurelien Chedjou headed the visitors in front following a Dimitri Payet corner in the 28th minute and Florent Balmont scored on the stroke of half-time, also from a pass by Payet who has now set up ten goals and scored seven.
Both sides conceded penalties in the second half with Salomon Kalou netting the third for Lille five minutes after the break and Lisandro Lopez making it 3-1 in the 57th.
Lyon failed to challenge Lille's domination and Payet went close to grabbing a fourth for the visiting team when his powerful effort hit the post with 11 minutes left.
"We failed in a big game tonight. We were poor. We have to accept it and quickly get back to work," centre back Milan Bisevac told Lyon's website.
His coach Remi Garde added: "We are having harder times. We faced a really good team who bothered us."
Lyon, who lost 3-1 at Ajaccio last weekend, stayed second on 45 points from 24 games, six adrift of PSG who beat Bastia 3-1 on Friday. Lille are 10th on 34.