David scored early and late to put Lille on 54 points from 24 games, two ahead of Lyon, 3-0 winners against Strasbourg on Saturday, and six ahead of third-placed Paris Saint-Germain, who travel to Marseille later on Sunday.
Monaco, who beat Nimes 4-3 away courtesy of an Aleksandr Golovkin hat-trick, are fourth on 48 points.
Nantes, who have now failed to win in seven games since coach Raymond Domenech took over this year and are on a 15-match winless streak since Nov. 8, are 18th on 19 points.
With Lille high on confidence, things quickly went the visitors' way at La Beaujoire.
Canada striker David fired home from close range from Jonathan Bamba's cross in the ninth minute after a defensive mix-up between Andrei Girotto and Imran Louza.
Lille were always in control and David put the result beyond doubt seven minutes from fulltime with a shot into the top corner after being set up by Renato Sanches.
David, who had a lacklustre start at Lille since joining from Gent during the close season, has now scored five goals in his last five games.