Mbappe netted seven minutes from time to put PSG on 25 points from nine games, two ahead of Olympique de Marseille, who beat Angers 3-0 away on Friday.
Nice are 13th on eight points.
Third-placed Lorient host Lille and fourth-placed RC Lens take on Olympique Lyonnais on Sunday.
PSG, who face Benfica away on Wednesday in a Champions League group-stage match, struggled against a sturdy Nice side until Mbappe came on in the 59th minute.
Mbappe had been given a breather by manager Christophe Galtier, staying on the bench as Hugo Ekitike started alongside Lionel Messi and Neymar up front.
Messi opened the scoring in the 28th minute when he curled a perfect free kick into the back of the net after being fouled by Nice captain Dante.
The Argentine came close to scoring again on the stroke of halftime with a fierce strike, only for Kasper Schmeichel to tip the ball over the crossbar.
Nice came back from the interval with all guns blazing and they were rewarded after two minutes when Gaetan Laborde latched on to a cross from Youcef Atal to equalise.
The goal prompted Galtier to send on Mbappe in place of Ekitike.
The France forward threatened with his pace but lacked sharpness in the area, until the 83rd minute when he connected with Nordi Mukiele's cross to put the hosts ahead.
It was Mbappe's eighth goal in Ligue 1 this season, putting him at the top of the scoring charts alongside Neymar.