Offspinner Glenn Phillips claimed 4-37 in only his second match as New Zealand reduced Bangladesh to 9-310 on day one of the opening Test.
Phillips' haul helped the visitors gain an edge after Bangladesh won the toss and opted to bat first on a pitch ideal for batting on Tuesday.
Bangladesh made a good start with opener Mahmudul Hasan playing serenely to put the side in the driving seat in the first session, but his teammates' rash shots undermined his effort. Mahmudul made a team-best 86 off 166 balls with 11 boundaries.
He shared stands of 39 for the first wicket with Zakir Hasan and 53 for the second with Najmul Hossain Shanto as Bangladesh made steady progress.
Shanto, who led the home team in the absence of Shakib Al Hasan, was dismissed just before lunch after an attacking 37 off 35 deliveries.
He was particularly harsh on left-arm spinner Ajaz Patel (2-76), hitting him for three sixes to entertain the sparse crowd.
Patel, one of only three bowlers ever to take 10 wickets in a single Test innings, gave the visitors an early breakthrough when he dismissed Zakir Hasan for 12 in the 13th over with a delivery that turned sharply to rattle the stumps.
Shanto targeted Patel and opened with a six over mid-on. And he used his feet effectively to dominate New Zealand's other spinners - Ish Sodhi and Phillips.
But he paid for his aggressive batting when he charged a full toss from Philips and skied a catch to Kane Williamson in the deep, to make the score 2-92.
Mahmudul and Mominul dug in to defy the New Zealand bowlers who were relentless in attack and Mahmudul raised his fourth Test fifty, driving Patel for a boundary through cover off 93 balls.
As the innings seemed to turn in Bangladesh's favour, Phillips made the crucial breakthrough when Mominul's attempted cut resulted in a catch behind the wicket, ending the 88-run partnership. Mominul scored 37 off 78 with four fours.
Mahmudul fell in the next over. After playing with soft hands throughout his stay, he went after legspinner Sodhi, only to be caught by Daryl Mitchell at slip.
With Bangladesh 4-184, the onus was on veteran Mushfiqur Rahim to lead the side but he charged Patel to be caught by Williamson at deep mid-off for 12.
Debutant Shahadat Hossain appeared to be solid against the spinners but the rash shots of Mehidy Hasan against pacer Kyle Jamieson (2-52), further deepened Bangladesh's crisis.
Shahadat was undone by a slower delivery from Phillips as he chipped straight to short midwicket after adding 24.
Phillips also dismissed Nurul Hasan, who adopted the policy of counterattack but failed to execute it properly. Nurul hit five boundaries for his 28 ball-29.
New Zealand edged closer to wrap up Bangladesh's innings on day one but Shoriful Islam (13) and Taijul Islam (8) helped the side hold on until stumps was called because of bad light.
Australian Associated Press