Having forged ahead through goals from Neymar and Angel Di Maria towards the end of the opening half, Thomas Tuchel's men were picked apart by a feisty Nimes side who refused to lie down.
Antonin Bobichon put the hosts back in the contest with a sweetly struck shot before a VAR-awarded penalty, converted by Teji Savanier, had them on course for an unlikely point.
But Mbappe struck his fourth goal in three appearances this season 13 minutes from time before Edinson Cavani found the net in stoppage time to finally finish off Nimes.
That was not the end of the drama, though, with Mbappe dismissed for his reaction to a heavy tackle from Savanier, who was also shown a red card in the closing seconds of an eventful contest.
Thomas Meunier created the breakthrough on 36 minutes, playing a one-two with Mbappe before crossing for Neymar to slide in and poke the ball past Paul Bernardoni, who was caught out four minutes later when Angel Di Maria scored directly from a corner on PSG’s right, curling the ball in at an unguarded near post as the goalkeeper back-pedalled helplessly.
Yet Nimes were rewarded for an improved second-half display when Sada Thioub squared to Bobichon, allowing the substitute to curl a first-time shot beyond Alphonse Areola.
Thiago Silva's clumsy challenge on Theo Valls gifted Nimes a 70th-minute penalty that was eventually awarded after the use of technology, Savanier depositing the spot-kick into the bottom left corner.
Just as an unlikely turnaround appeared to be on the cards, Mbappe latched onto a long ball over the top from Presnel Kimpembe, took one touch to perfectly control the ball and then lashed his attempt beyond Bernardoni.
Cavani capitalised on a Julian Draxler pass to nonchalantly roll the ball in for PSG’s fourth before Mbappe was given his marching orders for pushing Savanier to the floor after the midfielder had scythed him down.
What it means: Champions on a roll
PSG have lost only one of their last 20 Ligue 1 games and victory over Nimes means Tuchel's star-studded side have four wins from their first four games of the season for the fifth time in their history – the last occasion coming in 2017-18.
Meanwhile, Nimes have now won two and lost two of their opening four games in their first top-flight campaign in over 25 years, a promising start they will hope to build on.
Pat on the back: Neymar the wise counsel to fractious Mbappe
So often criticised for his over-the-top antics, Neymar was a pillar of experience for his strike partner Mbappe, settling the prodigious winger down when he was being roughly treated by the home defenders in the early stages.
Neymar picked the perfect moment for some theatrics, though, following up the opening goal by imitating tears in front of the Nimes supporters who had held up banners calling him a "crybaby".
Boot up the backside: Mbappe struggled at the school of hard knocks
He might have turned the game with his timely goal but Mbappe struggled in the contest, his first-half outburst to the referee suggesting the hosts had him rattled.
The World Cup winner redeemed himself once Nimes began to tire, only to snap in the dying seconds. The message to the rest of Ligue 1 had been made clear - be tough with Mbappe and he may fall short of his best.
Key Opta stats:
- PSG have lost only one of their last 20 Ligue 1 games (W15 D4), with the defeat back in May against Rennes (0-2).
- Angel Di Maria is the first player to score directly from a corner in Ligue 1 since Rachid Ghezzal for Lyon in April 2016.
- Antonin Bobichon has scored in National (Ligue 3) in 2016/17, Ligue 2 in 2017/18 and now Ligue 1 in 2018/19 - only Clement Depres has done the same.
- Presnel Kimpembé has been involved in a Ligue 1 goal for the first time in his career, in his 56th game.
- Edinson Cavani has scored against each of the 30 teams he has faced in his career in Ligue 1.
PSG will be confident of making it five from five when they entertain Saint-Etienne ahead of their Champions League opener at Liverpool, while Nimes face tough away trips to Bordeaux and Monaco when domestic duties resume after the international break.