Brendan Taylor made a career-best 171 in Zimbabwe's first-innings total of 389 on day two of the first Test against Bangladesh in Harare.
Taylor, on 105 overnight, advanced to the highest score by a Zimbabwe captain before being caught behind off Enamul Haque Jnr's bowling in the afternoon session.
He faced 324 balls during his eight-hour stay and struck eight fours and two sixes.
Zimbabwe's lower order chipped in with Graeme Cremer (42), Keegan Meth (21) and Shingi Masakadza (21) all contributing as 172 runs were added to their starting position of 217-4.
Seamer Robiul Islam (3-84) and left-arm spinner Haque Jnr (3-133) both finished with three wickets as Zimbabwe were all out in the third over after tea.
Bangladesh reached 95-1 in reply to reduce their deficit to 294 at stumps.
Shahriar Nafees was the man to go, caught via a leading edge by Timycen Maruma off Kyle Jarvis' bowling to end an opening stand of 53.
Jahurul Islam (38no) and Mohammad Ashraful (23no) saw Bangladesh through the final hour to the close without further loss.