Chasing 245 in the first one-day international of a three-match series on Tuesday, Masakadza laid the platform before Williams finished the job with an unbeaten 39 from 23 deliveries as Zimbabwe won by seven wickets with 10 balls to spare.
Although Misbah-ul-Haq held the Pakistan innings together in his 50th consecutive ODI as Pakistan captain, he was left to lament his decision to bat first at a venue where the pitch generally improves as the day goes on.
"Still I think Zimbabwe really deserved it - they played really well and played better than us. There was no panic in their batting line-up and they did it comfortably."
Misbah finished unbeaten on 83 and shared in a 99-run stand for the third wicket with Mohammad Hafeez, who made 70, but with Pakistan's middle and lower order failing to fire they could only manage 244 for seven.
Misbah required no such luck in a well-paced knock that saw him go to fifty in 62 balls before opening up towards the end, and his two sixes off Tinashe Panyangara in the final over of the innings ensured that Pakistan at least had something to bowl at.
However Masakadza, who was restored to the top of the Zimbabwean innings for Pakistan's tour, put on a confident stand of 107 with his opening partner Vusi Sibanda as Pakistan's bowlers found little assistance in the pitch.