Ibrahimovic's treble — which took him to 22 goals in Ligue 1 this season — and one from Argentinian Ezequiel Lavezzi, Toulouse's two being scored by Wissam Ben Yedder — restored their five point lead over Monaco, who had beaten Reims 3-2 on Friday, and extended their unbeaten run in Ligue 1 to 10 games.
PSG coach Laurent Blanc, who selected the same starting XI as he had done for last Tuesday's 4-0 away win over Bayer Leverkusen in their Champions League Last 16 clash, said nothing surprised him about Ibrahimovic.
"He is not just a goalscorer he is also a formidable passer of the ball," said Blanc.
"I am not sure whether this is the best season of his career but the statistics are really impressive (he also has 10 goals in the Champions League)," added the 48-year-old.
Both sides took time to settle and created little of note until the hosts were presented with a clear chance to open the scoring but Danish international striker Martin Braithwaite made a complete mess of it by missing an open goal from half a yard out.
PSG made them pay for that as Uros Spajic took Ezequiel Lavezzi's legs from under him in a clumsy challenge on the half hour mark leaving the referee no choice but to book the Serbian and award a penalty.
Ibrahimovic duly drilled it down the middle to put them 1-0 up.
PSG went close to doubling their lead in the 38th minute as Blaise Matuidi stormed forward and saw his shot from the left side of the penalty area beat the 'keeper but come back off the post.
An unmarked Ben Yedder levelled for the hosts with a super right-footed volley from Etienne Didot's cross.
PSG retook the lead in the 56th minute as Lavezzi scored with a smartly-taken shot inside the box after Ibrahimovic had torn through the Toulouse defence to pass to Matuidi, and though the latter's backheel failed to come off it fooled the Toulouse defence and fell to the Argentinian who finished with aplomb.
The visitors put the result beyond doubt in the 68th minute as the outstanding Ibrahimovic — who had just had an outrageously bold long range effort tipped over the bar by Zacharie Boucher — rose to head home Yohan Cabaye's freekick.
However, Toulouse pulled a goal back four minutes later as Braithwaite found Ben Yedder and he slotted the ball home, although he looked to be well offside, but despite PSG's protests the referee gave it.
Ibrahimovic finally put the game to bed three minutes from time as he knocked home the ball after his penalty had been saved by Boucher.