Mominul made 161 while Mushfiqur added an unbeaten 111 as Bangladesh reached 303-5 at stumps on the opening day at Sher-e-Bangla National Stadium.
Mominul and Mushfiqur shared 266 runs in their fourth wicket stand, helping Bangladesh bounce back from 26-3 to cross the 200-run mark for the first time in their last nine Test innings.
Mominul faced 242 balls and hit 19 fours in his seventh Test century, while Mushfiqur smashed nine fours for his sixth Test hundred.
They surpassed Bangladesh's previous record-high for a fourth wicket stand of 180 runs, shared by Mominul and Liton Das against Sri Lanka earlier this year.
After some early success, Zimbabwe had to wait for the second new ball to break the partnership, when Tendai Chatara forced Mominul to give a catch at gully to Brian Chari.
Kyle Jarvis removed nightwatchman Taijul Islam for four in the penultimate over of the day to give Zimbabwe a boost before stumps.
Zimbabwe, buoyed by their 151-run victory in Sylhet – their first Test win in five years – applied pressure in the first hour through their seamers and were rewarded early.
The visitors hammered Bangladesh in the morning session as paceman Jarvis removed openers Imrul Kayes and Liton while Donald Tiripano handed debutant Mohammad Mithun a duck.
Jarvis forced an inside edge form Imrul Kayes to earn the first breakthrough as wicketkeeper Regis Chakabva took the catch.
Imrul, who faced 16 balls, was unable to open his account.
Fellow opener Liton picked out the midwicket fielder Brendon Mavuta after he flicked Jarvis in the bowler's next over.
Liton earlier was reprieved on nought as the third umpire Rod Tucker overturned a caught behind dismissal following a replay.
Mominul and Mushfiqur joined together after Mithun poked Tiripano at slip for a catch of Taylor.
Chari dropped Mominul on nine at the backward point off Chatara before the left-hander eased the pressure with some positive strokes and put Bangladesh in command slowly.