Skipper Brendan Taylor played a steady hand to see his side to their target along with a swashbuckling cameo from Sean Williams who smashed 39 from 23 balls to ease home nerves at the death.
Pakistan, who won the toss, were lifted by the experienced Misbah-ul-Haq (83) and Mohammad Hafeez (70).
While they were scoring at a run-a-ball, it looked as though the visitors would set a target of around 280, but they lost momentum as wickets fell and even the usually explosive Shahid Afridi (11) struggled to find the boundary.
“We misread the pitch, it looked like it was going to be slow in the second innings, but it just played slow from the start. Still, Zimbabwe bowled better than us,” Pakistan captain Misbah said at the presentation ceremony.
“We were maybe 30 runs short, but you need to bowl and field well to defend this total. We were missing something in our bowling line-up today, especially with the new ball.”
Zimbabwe appeared to have little trouble, though, as Masakadza (85) and Sibanda (54) put on 107 for the first wicket by manoeuvring the ball cleverly around the ground.
Taylor (43 not out) and Williams guided their side to a famous win with 10 balls to spare, the latter launching a six over mid-wicket to end the match.
“It’s a pretty awesome feeling, we have shown a lot of character from a couple of weeks back when we were badly beaten by India, so I couldn’t be happier,” Taylor said.
“To beat the quality team that Pakistan have got shows that we are doing the right things. When our top-order batsmen come off it lays that foundation, our seam bowlers today were also exceptional. But there is still room for improvement, we dropped some pretty easy catches.”
The second one-day international will be played at the same venue on Thursday.
(Reporting by Nick Said in Cape Town; editing by Ed Osmond)