Messi cancelled out Tjarron Chery's surprise first-half opener after being set up by Mbappe and he returned the favour for the France forward after the break before Neymar grabbed a late third as PSG were made to sweat by the Israeli champions.
Christophe Galtier's French side travel to Benfica on Oct. 5, while Juventus and Haifa meet with the threat of early elimination looming.
Mbappe, however, admitted his team's performance was far from perfect.
"The pitch was not great but that's not an excuse," Mbappe said. "We made some adjustments after the break and it paid off. But we've got to work hard to get results in terms of the way we play because we've got some big games coming up."
PSG got off to a lively start with Mbappe threatening twice in the opening minutes, but they quickly fell into a lull and they were punished midway through the half.
As Haifa increased the pressure, Dolev Haziza whipped a perfect cross for Chery, who stretched out his leg to beat Gianluigi Donnarumma and put the hosts ahead.
PSG struggled to find their rhythm but Mbappe beat two defenders in the box and his cross was deflected into the path of Messi, who fired home from close range to make it 1-1 eight minutes before the break.
Argentina international Messi has now found the back of the net against a record 39 different teams in the Champions League.
Vitinha's work in the midfield, however, proved vital for the Ligue 1 champions and Messi went close at the hour after being set up by the diminutive Portuguese.
PSG's individual talents eventually made the difference as Mabppe collected a fine through ball from Messi to give his side the advantage with a low shot in the 69th minute.
Haifa did not lie down, but Neymar wrapped it up in clinical fashion on a counter-attack after collecting a fine pass from Marco Verratti two minutes from time to end an 11-match run without a goal for the Brazil forward.