At 167-5 chasing a target of 286 to win, Zimbabwe were in danger of becoming the first top-tier side to ever lose an ODI to the UAE but an 83-run partnership between Williams and Craig Ervine (42) rescued things.
It will be a disappointing defeat for UAE who impressed throughout, particularly with the bat ??? posting their highest ever ODI score ??? Shaiman Anwar top-scoring with a 50-ball 67.
Having been put into bat, the UAE innings was well constructed and well-paced, with all but two of their batsmen passing 20.
Khurram Khan (45) and Krishna Chandran (34) produced an 82-run partnership for the third wicket but both fell within three overs of other ??? Khan to the pick of the bowlers, Tendai Chatara (3-42).
That brought Anwar to the crease in the 31st over with the score at 134-4 and his innings ??? his highest ever ODI score ??? helped the UAE to a testing total.
And when he fell to Williams ??? who took 2-43 in an impressive all-round display ??? Amjad Javed (25 off 19 balls) and Mohammad Naveed (23 off 17) combined well in a quickfire unbroken stand of 53 to fire them to 285-7 at the end of their 50 overs.
Zimbabwe started positively in response with opener Sikander Raza striking 46 off 44 balls but when he fell in the 13th over with the score at 64, the UAE continued to take wickets at crucial times ??? none more so than the dismissal of Brendan Taylor (47).
Taylor was well set and looking to up his scoring rate when he attempted to sweep a full delivery from Nasir Aziz and was struck low on his front pad.
He was given out but reviewed the decision only for technology to show the ball would have hit the middle stump ??? that left Zimbabwe 144-4 in the 28th over.
And their struggles deepened when Solomon Mire fell cheaply for nine, four overs later.
But Williams and Ervine???s partnership rescued the side and by the time the latter was bowled by Krishna Chandran, only 36 runs from seven overs were required.
Williams saw them over the line in style with three straight fours to win the game in the 48th over to end Zimbabwe’s losing streak of seven matches stretching back to their three-wicket win over Australia in Harare last August.
They next play the West Indies in Canberra on Tuesday, while the UAE face Ireland in Brisbane a day later.