MISSED the match? Catch Up via beIN SPORTS CONNECT | Foxtel, Kayo, Fetch & beIN SPORTS CONNECT
Mbappe had already missed a penalty, and its subsequent retake for a Montpellier encroachment, before coming off in the 21st minute with a worrying-looking injury, clutching his hamstring as he went straight down the tunnel.
But after Messi and Achraf Hakimi both saw goals chalked off for offside, Fabian poked home in the 55th minute before Messi added a second to put Christophe Galtier's men in control.
Arnaud Nordin pulled one back only for Zaire Emery to come off the bench to score his first senior goal, sealing a victory that is PSG's first in three league games and puts their hopes of lifting a ninth title in 11 seasons back on track.
PSG were awarded a penalty after just seven minutes when Christopher Jullien hauled down Sergio Ramos from a free-kick into Montpellier's box.
Mbappe's initial spot-kick was saved by Benjamin Lecomte, but a Montpellier encroachment prompted a retake, only for the France international to see his second attempt tipped onto the post by Lecomte before sending the rebound over the bar.
After Mbappe and Sergio Ramos (head) were both forced off with injury, Messi thought he had put PSG in front with a clever chipped finish, though a VAR review ruled him offside to send the game into the break goalless.
Messi blasted into the side-netting following half-time before Hakimi saw a wonderful strike from distance ruled out, again for offside in the build-up.
But PSG's wait to break the deadlock ended shortly after, Hugo Ekitike nodding across for Fabian to stab home from close-range.
Messi added a second with 18 minutes to play as he coolly dinked into the bottom corner from Fabian's perfectly weighted throughball, though Nordin caused some anxiety for the visitors by finding the bottom corner in the 89th minute.
Substitute Zaire Emery ended any hopes of a Montpellier comeback though by blasting home a third in the dying seconds.