With several players injured, including Brazil forward Neymar who suffered a thigh injury in a 2-0 Champions League win at Istanbul Basaksehir in midweek, Mbappe had to bear much of the attacking responsibility against a tough Nantes side.
The hosts almost took the lead in the 16th minute when Kolo Muani danced along the goal-line before pulling the ball back but Moses Simon, with the open goal at his mercy, failed to get a clean strike on the ball and it bobbled harmlessly wide.
Both sides were guilty of wasteful finishing in the first half, with PSG's France striker Mbappe uncharacteristically spurning two excellent chances and Nantes' Muani curling a beautiful effort just wide 10 minutes before the break.
PSG coach Thomas Tuchel brought on 18-year-old Kays Ruiz-Atil for Moise Kean at the break and he found Mbappe whose precise angled pass was slammed into the net by Spanish midfielder Ander Herrera two minutes into the second half.
Mbappe was bundled over by defender Jean-Charles Castelletto for a penalty in the 63rd and, after a short delay for a VAR check, Mbappe tucked away the spot kick to make it 2-0.
Nantes' Kader Bamba then had a penalty saved by PSG keeper Keylor Navas seven minutes later and a frustrating evening for Nantes was summed up when they gave the ball away in their own box to gift Sarabia a third goal for PSG in the 88th.
The win puts PSG on 21 points after nine games, three ahead of second-placed Lille who welcome Olympique Lyonnais on Sunday. Nantes remain in 15th spot on eight points.