A second successive century from Sean Williams fired Zimbabwe to a 14-run victory over Oman in the Super Six stage of the ICC World Cup Qualifier in Bulawayo on Thursday as the hosts inched closer to the 50-over showpiece in India.
In their first match, Zimbabwe carried the form they showed in Group A to get the better of a fighting Oman, with Williams continuing his stellar run.
After winning four out of four matches in the group stages, the hosts are now up to six points in the Super Six, thanks to their four points carried over and a further two picked up at the Queens Sports Club.
Oman battled hard, with a century from Kashyap Prajapati, but could never quite keep up with the rate as they tried to chase a target of 333.
In five innings at the tournament, Williams has notched up three centuries and a 91, and he was at it once again to take down Oman.
A brilliant 142 from 103 balls set the platform for Zimbabwe to score 332 for seven after being put into bat.
Williams came to the crease after skipper Craig Ervine (21) was bowled by Kaleemullah (1/39), with Joylord Gumbie (25) following shortly afterwards to Fayyaz Butt (4/79) to leave Zimbabwe at 48 for two.
A 64-run stand with Wessly Madhevere (23) started the rebuild, and Williams and Sikandar Raza (42) then added 112 for the fourth wicket to lay the foundation for a huge score.
Fayyaz removed both the set batters, either side of trapping Ryan Burl (13) leg before, but Zimbabwe were still looking good on 276 for six with five overs remaining. And some big hitting from Luke Jongwe carried them to an even bigger total, needing just 28 balls to crash an unbeaten 43 -- a knock that proved crucial in the end.
Prajapati batted with intent from the word go, dominating an opening stand of 29 before Jatinder Singh fell having contributed just two.
That brought Aqib Ilyas to the crease, and with Kashyap taking the initiative, the pair added 83. Raza had Aqib caught behind for 45, before a 44-run stand with Zeeshan Maqsood ended when the skipper was forced to retire hurt having injured his hamstring while going for a sweep.
With the required rate rising, it felt like Kashyap would need to stay until the end but a stunning catch from Raza off Blessing Muzarabani ended his knock on 103 from just 97 balls.
That left Oman needing 142 from 15 overs, a task made trickier when Richard Ngarava removed Shoaib Khan caught and bowled for 11.
Ayaan Khan was not going to go down without a fight though, and smashed 47 off just 43 deliveries before he was caught in the deep off Muzarabani in the 45th over.
Kaleemullah then followed, caught on the boundary by Jongwe with a juggling attempt where he twice had to toss the ball into the air as he stepped over the rope before completing the remarkable catch.
Mohammad Nadeem (30 not out) gave it his all to take Oman closer to a famous victory but when they needed 29 off the final over, their race was all but over.
Zeeshan (37) returned and smashed a six and a four off that last over, taking Oman to their highest ODI score, but they finished 14 runs short as he fell off the final ball.