Thomas Tuchel's side had picked up just one point from their previous two top-flight games against Monaco and Bordeaux and they looked set for more disappointment after Stephy Mavididi had cancelled out Colin Dagba's opener before half-time.
The champions sealed a fifth win in six games against their hosts in the final 13 minutes, though, with Moise Kean lashing home from an acute angle and Mbappe coming off the bench to tap in from close range for his 100th PSG goal.
The result means PSG are four points ahead of Marseille at the league summit, although Andre Villas-Boas' side have played two games fewer.
PSG, who rested Neymar, started sluggishly and scarcely got close to Jonas Omlin's goal inside the opening half an hour.
They belatedly woke from their slumber and forged ahead after 33 minutes, Dagba sliding home his first professional goal from eight yards following superb work down the left from Angel Di Maria.
Montpellier responded before the interval, though, courtesy of Mavididi's third goal of the season. The former Juventus forward's initial shot was blocked by Dagba, but he squeezed his follow-up effort over the line despite the best efforts of Keylor Navas.
And only a fine stop from Navas prevented Mavididi from adding a second from close range before half-time.
On-loan Everton striker Kean had two presentable chances to restore PSG's lead in the early stages of the second half, but his finishes lacked precision.
Di Maria was denied what would have been a wonderful individual goal in the 67th minute by a smart save from Omlin, but Kean got the better of the Montpellier goalkeeper 10 minutes later, thundering into the roof of the net from eight yards.
Mbappe then added gloss to the scoreline, sliding home Layvin Kurzawa's low ball in stoppage time for his 10th league goal of the campaign, bringing up a century in PSG colours.
What does it mean? PSG's finishing proves to be the difference
Montpellier's 17 shots on goal is evidence that PSG did not have it all their own way.
Had the hosts managed to get more than just two of them on target, Tuchel's men might not have had the chance late on to seal all three points through Kean and Mbappe.
The visitors, meanwhile, will point to the fact they had 13 shots of their own and enjoyed almost 65 per cent possession as proof they were good value for the win.
Di Maria impresses for PSG
He did not get on the scoresheet, but the Argentina international was comfortably PSG's brightest spark. He teed up Dagba's opener with a fine low ball into the box – one of four key passes – took three shots and put in six crosses, which was twice as many as any other visiting player.
Herrera off the pace
Ander Herrera was a long way from his tenacious best and it came as little surprise to see him hauled off shortly after the hour mark. The former Manchester United man won just two of his six duels, lost possession 12 times and failed to play any key passes to his team-mates.
PSG take on Istanbul Basaksehir on Tuesday knowing a draw will be good enough to qualify for the Champions League last 16. They follow that with a home clash against Lyon on Sunday, a day after Montpellier travel to Lens.