Corey Anderson's maiden century and half centuries by tailenders BJ Watling and Ish Sodhi lifted New Zealand to 419-8 and a 137-run lead over Bangladesh on the third day of the second test on Wednesday.
New Zealand, which has never lost a test to Bangladesh, was almost in position to win the test and two-match series after the first was drawn in Chittagong.
Anderson was the star with 116 in only his second test on a day when the Kiwis scored more than 300 for the loss of five wickets.
Kane Williamson pitched in with 62, and Ross Taylor 53. Watling and Sodhi remained unbeaten on 59 and a career-best 55 respectively as they took control in response to Bangladesh's 282.
Shakib Al Hasan was the best of the Bangladesh bowlers, taking 5-97 off 40 overs of legspin.
He made the first breakthrough in the morning, claiming Taylor after New Zealand resumed from 107-3 overnight at Sher-e-Bangla National Stadium.
Anderson and Williamson added 140 runs for the fifth wicket to put New Zealand within 15 runs of Bangladesh's first-innings total before tea.
Anderson brought up his century with his 11th boundary, cracking Sohag Gazi to the midwicket fence. He'd used up only 139 balls.
Williamson miscued spinner Abdul Razzak, ending his third straight big knock, after scoring 114 and 74 in the first test.
With a lead of five runs, Anderson was finally out, driving straight to Gazi at extra cover to give Al-Amin Hossain his first test wicket on debut.
Anderson made 116 off 173 balls, with 13 boundaries and two sixes.
He took 10 deliveries to get off the mark and had no problems playing left-arm spinners Shakib and Razzak or medium-fast bowler Rubel Hossain, against whom he hit five fours. He even raced through the 90s, no sign of any nerves.
At 287-6, Bangladesh would have thought they could limit New Zealand's lead and perhaps bat before the end of the day, but the Kiwi tail patiently dug in.
Shakib completed his 10th five-wicket haul when he dismissed Doug Bracewell on 17, which brought tea, but he couldn't bag another wicket afterwards.
Fast bowler Neil Wagner's wicket was the only one to fall in the last session, as Bangladesh tired in the field.
Wicketkeeper Watling and spinner Sodhi, playing his second test, combined for an unbeaten 84 for the ninth wicket. Watling was the more circumspect of the pair, as Sodhi galloped to his 50 off 59 balls.