The visitors reached 161 for 4 at the break at Sher-e-Bangla stadium with first innings century-maker Brendon Taylor and Peter Moor batting on 54 and 10 respectively.
Zimbabwe’s hopes of securing a draw rests on the pair, whose 139-run sixth wicket stand in the first innings took the visitors past the 300 mark.
If they stave off defeat, Zimbabwe will claim their first Test series win in seven years.
Resuming at 76 for 2, Zimbabwe lost Sean Williams for 13 after pace bowler Mustafizur Rahman provided Bangladesh with the first breakthrough.
Spinner Taijul Islam dismissed Sikandar Raza for 12 by taking a sharp return catch to reduce Zimbabwe to 120 for 4.
But Taylor and Moor saw their side through to the break with an unbeaten 41-run stand for the fifth wicket.
Bangladesh need a win to square off series after going down by 151 runs in the first Test in Sylhet.
Bangladesh declared their second innings on 224 for six at the tea break Wednesday after skipper Mahmudullah Riyad completed his second century in eight years.
Zimbabwe had been all out for 304 in reply to Bangladesh’s mammoth first innings of 522 for 7 declared.