It was another slim defeat for the Green Shirts, who had lost their tournament opener to India on Sunday in the final over.
Set a target of just 131, Pakistan were in control at 88-3 in 14th over when all hell broke loose and they finished at 129-8 at the end of their 20 overs.
Despite the mini-meltdown in the final quarter of their innings, Pakistan were still in the driving seat at various points, including the final over when seven runs off the first two balls meant they only needed four off as many balls.
A dot ball following a single made Mohammad Nawaz take risk, which did not pay off and his uppish, mistimed shot was grabbed. It meant that with Shaheen Afridi on the strikes, three were needed for a win and two for a tie.
Afridi’s shot off the final ball was in the direction of the long-on fielder and good enough for just a single. The suicidal dash for the double that was never there was attempted but it was not to be found despite a series of fumbles by the Zimbabwe keeper on the batting end.
The run-out saw wild celebrations as the perennial minnows of World cricket pulled off a stunning, almost miraculous win.
Earlier, Zimbabwe elected to bat first and Wesley Madhevere and skipper Craig Ervine used the pace of Pakistan’s seamers to good effect with a string of boundaries in a 42-run stand.
But Shadab’s 3-23 with his wrist spin and pace bowler Wasim’s 4-24 held Zimbabwe — whose opening match in the Super 12 in Hobart was a washout — to a below-par total.
Ervine smashed Naseem Shah for two delightful fours but mistimed an attempted pull off Haris Rauf to be caught out for 19 off 19 balls.
Wasim justified his selection in place of batsman Asif Ali as he sent back Madhevere trapped lbw for 17, a decision the umpires denied but Pakistan successfully reviewed.
Sean Williams survived a reprieve on nine after Iftikhar Ahmed spilled a catch at mid-wicket off pace spearhead Shaheen Shah Afridi.
The left-handed Williams hit a few boundaries in his attempt to take the attack to Pakistan, before he was bowled by Shadab for 31.
Shadab struck again to get Regis Chakabva out next ball with skipper Babar Azam taking a one-handed stunner at slip.
Zimbabwe slipped further when Sikandar Raza fell for nine off Wasim, who took one more to be on a hat-trick, before giving away two wides and a single to Brad Evans.
Zimbabwe lost four wickets on 95 — Williams, Chakabva, Raza and Luke Jongwe — before Evans took his team past the 120-run mark.
Evans became Wasim’s fourth wicket in the final over, gone for 19.
Pakistan: Babar Azam (capt), Mohammad Rizwan (wk), Shan Masood, Shadab Khan, Haider Ali, Iftikhar Ahmed, Mohammad Nawaz, Shaheen Shah Afridi, Haris Rauf, Mohammad Wasim Jr, Naseem Shah
Zimbabwe: Regis Chakabva (wk), Craig Ervine (capt), Wesley Madhevere, Sean Williams, Sikandar Raza, Milton Shumba, Brad Evans, Ryan Burl, Luke Jongwe, Richard Ngarava, Blessing Muzarabani
Umpires: Chris Gaffaney (NZL), Richard Kettleborough (ENG)
TV Umpire: Marais Erasmus (RSA)
Match Referee: David Boon (AUS)