Zimbabwe reached 154-4 in reply to Bangladesh's 391 on day two of the second Test in Harare.
Robiul Islam struck twice with the new ball as Zimbabwe slumped to 45-3 before Brendan Taylor (36), Malcolm Waller (30no) and Elton Chigumbura (45no) led a recovery in the final session.
Seam bowler Robiul (2-34) had both openers, Vusi Sibanda (10) and Regis Chakabva (12), caught behind in successive overs and left-arm spinner Shakib Al Hasan (1-40) bowled Hamilton Masakadza (14) to leave the home side in trouble.
But Taylor, who made a century in each innings of Zimbabwe's 335-run victory in the first Test, and Waller steadied the innings with a 52-run stand for the fourth wicket.
Off-spinner Sohag Gazi (1-29) had Taylor caught by Shakib at deep midwicket before Waller and Chigumbura added an unbroken 61 during the final 17 overs.
Earlier, Bangladesh's final four wickets added 91 runs to their overnight 300-6, with Nasir Hossain making 77.
Nasir, on 37 at the start of the day, hit 11 fours in his 103-ball contribution before being ninth out, bowled by leg-spinner Graeme Cremer (2-109).
Chigumbura was Zimbabwe's most successful bowler with 3-75.