Williams struck nine fours in his 173-ball stay, was involved in two partnerships that promised much before ending in the 30s, with Hamilton Masakadza and Sikandar Raza. The loss of those two batsmen in the second session left Zimbabwe at an uncertain 129 for 4; their best period came after that.
Zimbabwe only added 64 in the middle session, in 31 overs, as they slowed down after Raza's dismissal for 19. At one stage, Williams and Moor played out six successive maidens from Mehidy Hasan Miraz and Nazmul Islam. But they hung on, and their partnership grew in confidence, and grew to 72, after the tea break.
Moor's cover-driven boundary off Taijul Islam, in the second over after tea, injected life into the innings, and Williams struck the same bowler for successive fours through point and midwicket in his next over. More boundaries came after Moor successfully reviewed an lbw decision off Abu Jayed - the ball was easily missing leg stump. Moor slammed Jayed through point and lofted Mehidy over mid-off, while Williams swept Nazmul twice in one over, either side of the deep backward square leg fielder.
Williams' dismissal came against the run of play, when Mahmudullah brought himself on and found some turn to draw his edge, which Mehidy caught very well at slip, stretching fully to his left to complete the catch.
Masakadza earlier had struck three fours and two sixes in scoring 52 in the first session. He was severe on anything too full, and hammered all his boundaries off Taijul, blasting him down the ground for both the sixes, and picking up his fours off either cuts or sweeps.
But there was trouble at the other end. Brian Chari was bowled slogged Taijul across the line. Taijul then removed Brendan Taylor with a wonderfully flighted delivery that drew the batsman forward and went on with the angle to take his inside edge before the short-leg fielder, Nazmul Hossain Shanto, snapped up the tickle.
Masakadza and Williams took Zimbabwe to 85 for 2 at lunch but in the first over of the middle session, Jayed trapped Masakadza with a delivery that moved sharply into his front pad.
Williams and Sikandar Raza added 44 for the fourth wicket, with both batsmen picking up two fours each, before Nazmul picked up his maiden Test wicket, clean-bowling Raza through bat and pad for 19.
Williams and Moor made a slow start thereafter but as their confidence grew, the Bangladesh spinners found it hard to beat their bat for 29 overs.
Taijul finished with two wickets, having bowled 27 overs. Mehidy was tidy, not giving away too many runs, while Jayed and Nazmul took one wicket each without offering too much of a spark.