David pounced in the 16th minute when Yusuf Yazici's corner was palmed out to him by Rennes goalkeeper Romain Salin, the Canada forward lashing home to put Lille on 45 points.
The 21-year-old's fourth league goal of the season was his second winner in as many weeks after striking in injury time against Reims last time out.
His strike handed Rennes, who are fifth on 36 points, their first defeat in eight matches.
Christophe Galtier's Lille are equal with PSG after their third win in a row which also ensures that they cannot be overtaken by third-placed Lyon.
Lyon are five points behind the two pace-setters ahead of their match later on Sunday at fierce local rivals Saint-Etienne, who sit four points above the relegation zone in 16th.
They will be hoping to bounce back after their 16-match unbeaten run came to an end last week at the hands of Metz, with les Verts on a run of five games without a win and coming into Sunday's match off two straight defeats.