The opening goal came in controversial circumstances in the 27th minute as Marko Basa's curling cross was put into the net by the offside Nolan Roux, only for the former Brest attacker's strike to be allowed to stand.
Roux was on hand to score his side's second as well, bursting into the area to tap in Rio Mavuba's low cross in the 71st minute as Lille's clinical finishing proved to be the difference.
The win takes Lille on to 26 points from 12 matches, while Monaco stay on 25 and Paris Saint-Germain lead the way with 28.
Nantes were unable to extend the gap between themselves and fifth-placed Marseille to four points after being held 1-1 at Stade de la Mosson against Montpellier.
Filip Djordjevic gave the visitors a 22nd-minute lead as he poked Issa Cissokho's long-range shot out of the reach of Geoffrey Jourdren and into the corner of the goal.
The hosts dominated as they had 13 more shots in total and enjoyed 66 per cent of the possession, but they had to wait until second-half stoppage time to draw level as Djamel Bakar fired into the net from just inside the area.
Bordeaux extended their unbeaten run in Ligue 1 to seven matches as they triumphed 2-1 over Nice on the south coast.
Gregory Sertic opened the scoring in the 31st minute as he latched on to a loose ball about 30 yards from goal and fired an impressive half-volley into the top corner of the goal.
Ludovic Obraniak doubled Bordeaux's lead in similarly spectacular fashion as he ran at the hosts' defence before drilling a powerful shot into the top-right corner, before Dario Cvitanich scored a consolation from the penalty spot in the 77th minute.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.