Mbappe, restored to the starting line-up at Mauro Icardi's expense, opened the scoring after 52 minutes with a deft backheel and Neymar netted five minutes from the end on a night when both players could have increased their side's advantage.
But PSG's finishing was as inconsistent as their defending and it was only by virtue of a lack of quality in the Nantes attack that Thomas Tuchel's league-leading side emerged with all three points.
+1 - Only 2 players have scored more than 1 goal per game in the top 5 leagues since last season— OptaJean (@OptaJean) December 4, 2019
Messi 🇦🇷 - 1.05 (45 goals en 43 games)
Mbappé 🇫🇷 - 1.03 (39 goals en 38 games)
Superhero. @PSG_English pic.twitter.com/L85SK0hU9c
Yet with a five-point cushion now and a game in hand on second-placed Marseille, the champions proved yet again that they can win without playing anywhere near their best.
PSG's dominance of Ligue 1 is such that they rarely come out all guns blazing, and the only clear chance of the early exchanges saw Ludovic Blas fire wide for Nantes from just outside the box.
Blas drew a good save from Keylor Navas after 27 minutes, the PSG goalkeeper getting down smartly to turn a low drive around his near post.
Neymar, having spent much of the game protesting against Nantes challenges, steered the ball into the net four minutes from half-time only to see his effort ruled out for a challenge by Julian Draxler on Imran Louza during the build-up.
Neymar missed a one-on-one chance in first-half stoppage-time and the champions piled forward again straight after the interval, Mbappe having a thunderous shot saved moments before he let Angel Di Maria's cross run between his legs and cleverly diverted it past goalkeeper Alban Lafont.
Nantes continued to threaten on the counter-attack and Navas made a strong save from Louza before a moment of madness saw substitute Icardi win a penalty.
Nicolas Pallois' backwards header was bound for Icardi who was pushed from behind by Labont and Neymar buried the ensuing penalty at the second attempt to make sure of the victory.
What does it mean? Relief for Neymar
With Mbappe justifying his inclusion ahead of Icardi with a goal, there was an uneasiness about Neymar until he found the net from the penalty spot - his first goal since recovering from a hamstring injury.
Navas plays a key role
PSG had enough chances to win the game comfortably but also afforded Nantes more space than Tuchel would have liked, and he had Navas to thank for a number of timely saves to preserve his side's clean sheet.
Not Louza's night
Nantes midfielder Louza breathed a sigh of relief when VAR ruled out a Neymar goal for which he would have likely been blamed, but he later fluffed his lines when presented with a clear chance to equalise.
PSG face a difficult trip to in-form Montpellier on Saturday, while Nantes entertain struggling Dijon on Sunday.