Zimbabwe 332 for 7 (Williams 142, Jongwe 43*, Raza 42, Butt 4-79) beat Oman 318 for 9 (Prajapati 103, Ayaan 47, Ilyas 45, Muzarabani 3-57, Chatara 3-73) by 14 runs
The result means Zimbabwe have one foot in the World Cup proper, with another win from their next two games securing qualification - though they can qualify even with two losses, provided other results go their way.
For Oman, while their chances of qualifying are now virtually non-existent by virtue of their inferior net run rate, their performance was yet another reminder of the closing gap between Associate nations and their full-member counterparts.
Oman will rue missed opportunities with each of Williams, Raza and Craig Ervine dropped, while there were also several easy runs given away and run-out chances missed. By contrast, Zimbabwe grabbed every inch, most notably when Raza completed an awe-inspiring over-the-shoulder grab to dismiss the set Prajapati.
On Thursday, he arrived in the middle overs and shifted gears effortlessly. The surface in Bulawayo was not completely to the batters' liking but in Williams, Zimbabwe had a man for all occasions.
When Williams fell with still five overs left, Oman might have had hopes of getting in a few miserly overs but Zimbabwe's tail wagged significantly - through a combination of excellent running, streaky boundaries and fielding lapses - to take 55 off the final five.
At that stage, with a target of 333 set, on a track that wasn't exactly straightforward to bat on, Oman went about their chase with the nous of more seasoned campaigners - never letting the required rate get out of hand, finding boundaries when necessary and limiting dot balls.
But where Oman had provided the Zimbabwean batters with breathing room, Zimbabwe kept the pressure on, and when the chances came they didn't flinch. Though no one was surprised; they've only been doing it all tournament.