Replying to Bangladesh's first-innings total of 140, Zimbabwe were powered by a maiden Test century from Innocent Kaia and valuable contributions throughout the batting order. Despite Taijul's heroics with the ball, the visitors struggled to contain the hosts, who dominated for most of the day.
Bangladesh then made a cautious start to their second innings but suffered an early setback when Shadman Islam was dismissed for 9 off 11 balls.
Mahmudul Hasan Joy and Mominul Haque ensured there were no further losses before stumps, guiding Bangladesh to 40 for 1 and reducing the deficit to 230 runs. Joy will resume on 21, while Mominul is unbeaten on 9.
Zimbabwe resumed the day in a commanding position and quickly extended their advantage. Kaia reached his maiden Test century off 153 deliveries before going on to score a superb 140 from 227 balls. His innings ended when he was caught by Shadman Islam off Taijul.
Earlier in the morning, Khaled Ahmed had provided Bangladesh with their first breakthrough by dismissing Brendan Taylor for 17, caught behind by wicketkeeper Amite Hasan.
However, Kaia and Brian Bennett continued to frustrate the visitors with a fluent partnership before Taijul dismissed Bennett for a brisk 59, taking a return catch off his own bowling.
Zimbabwe went into lunch on 249 for 2 with a 109-run lead, before further extending their dominance in the second session.
Taijul briefly sparked hopes of a Bangladesh comeback by striking with the first ball after lunch to remove Kaia. On the very next delivery, Tafadzwa Tsiga was run out, leaving Zimbabwe momentarily under pressure.
However, Craig Ervine and Wessly Madhevere steadied the innings with a crucial 102-run partnership for the sixth wicket, pushing Zimbabwe's lead well beyond 200. Taijul eventually broke the stand by dismissing Ervine for 60 before claiming his fifth wicket by removing Newman Nyamhuri, caught at slip.
The left-arm spinner wrapped up the innings by dismissing Richard Ngarava and Blessing Muzarabani to finish with outstanding figures of 7 for 111, his latest seven-wicket haul in Test cricket.
Khaled Ahmed picked up two wickets, while one Zimbabwe batter was run out. Hasan Mahmud and Ebadot Hossain, however, went wicketless as Zimbabwe posted a formidable first-innings total of 410.
Although Bangladesh avoided further damage late in the day, they still trail by 230 runs and face an uphill battle heading into Day 3.