Bangladesh is set for a final-day victory in the second test after setting Zimbabwe 401 to win and reducing the host to 138-4 by stumps on the fourth day on Sunday.
Although the Zimbabwe batsmen were given slight relief when umpires took the players off early for bad light at Harare Sports Club, Bangladesh is still well-placed to level the two-test series between lowest-ranked teams.
Captain Mushfiqur Rahim's 93 and half-centuries by Shakib Al Hasan and Nasir Hossain led Bangladesh to 291-9 declared in its second innings earlier in the day, a formidable lead of exactly 400.
Hamilton Masakadza was 46 not out at the early close, but Zimbabwe had sent in nightwatchman Shingirai Masakadza and needs to bat all of Monday with six wickets in hand to win a multi-game series for the first time since its victory over Bangladesh in 2004.
More likely is a series-leveling Bangladesh win and the first time the country has avoided defeat in a series in four years, ending a run of nine straight series defeats. Bangladesh would deserve its victory having rebounded strongly from a heavy loss in the first test to dominate the second from the start.
On Sunday, wicketkeeper-batsman Rahim led from the front to build the significant lead lead, hitting nine fours and only missing out on a third test century by seven runs when part-time seamer Hamilton Masakadza forced him to flash a catch to Vusi Sibanda at backward point.
Rahim shared partnerships of 84 with Shakib (59) and 84 again with Hossain, who was 67 not out when Bangladesh declared.
Shingirai Masakadza was Zimbabwe's best bowler with 4-58 and his brother Hamilton picked up 3-24, but the home team's attack was badly hampered by the loss to injury of Keegan Meth, who was unable to bowl at all in Bangladesh's second innings.
Facing the huge target, Zimbabwe openers Vusi Sibanda and Regis Chakabva both got starts but were dismissed and crucially for Zimbabwe's hopes, captain and lead batsman Brendan Taylor was out for just 10 and Malcolm Waller for 15.
That left the Masakadza brothers to take Zimbabwe to stumps, with Hamilton unbeaten on 46 with 36 of his runs coming from boundaries in a temporary counter that needs to last most of Monday if the Zimbabweans are to have any chance at saving the test.
Shakib and Ziaur Rahman shared Bangladesh's four wickets.