France striker Mbappe found the back of the net with a jaw-dropping backheel finish early in the second half and Neymar doubled the tally in the closing stages to put PSG on 36 points from 15 games.
Second-placed Marseille, who have played one game more, had narrowed the gap to two points with a 2-0 victory at Angers on Tuesday.
"It's not easy to beat Nantes they are very compact. We tried to play fast but we lost too many balls," said PSG midfielder Marquinhos.
Nantes dropped to ninth in the table on 23 points from 16 games.
At the Parc des Princes, coach Thomas Tuchel left Mauro Icardi on the substitutes' bench with Mbappe starting up front alongside Angel Di Maria and Neymar.
After the match, Tuchel said: "I am convinced we do not lack desire. It was hard here. It has been difficult these past few games. We lost at least 80 balls in the first half -- easy balls.
"You cannot be confident when you lose the ball that much. It is not possible to control a match. We lose confidence, make poor choices and are unable to play freely."
The Brazilian thought he had opened the scoring shortly before half-time but his effort was ruled out by the VAR because of a Julian Draxler foul in the area.
Mbappe went close four minutes into the second half but Alban Lafont parried away the France international's powerful angled shot.
Mbappe, however, put the hosts ahead in the 52nd minute with a gorgeous backheel from Di Maria's whipped pass after the Argentine had been played through on the right flank by Neymar.
Neymar converted a penalty six minutes from fulltime after Lafont had brought down Icardi in the area following a poor header back from defender Nicolas Pallois.
Keylor Navas made a key save to deny Pallois in stoppage time, helping secure a ninth clean sheet in nine league victories for PSG at home this season.