Trent Boult bagged five wickets as Bangladesh were rolled for 126 in reply to New Zealand's mammoth 521 for six declared in the second Test on Monday.
The last wicket fell in the final over of the day in Christchurch as the Bangladesh innings ended inside a session and a half, to leave them 395 in arrears.
After two days the hosts look well on course for the victory they need to draw the two-match series after losing the first Test by eight wickets.
New Zealand had made batting look easy after being sent in on a green wicket with opener Tom Latham in the middle for more than nine hours for his 252, while Devon Conway added 109 and Tom Blundell was 57 not out.
When the Black Caps declared, pace bowlers Boult and Tim Southee then showed how to move the ball on a verdant surface as they ripped through the Bangladesh line-up.
Boult put the difference down to local knowledge.
"That's the beauty of Test cricket, the little subtleties that come with different grounds," he said.
"The wicket obviously offers a little bit of bounce with a bit of grass on it.
'All about length'
"It's all about the length here, of us getting them on the front foot and encouraging them to drive down the ground ... pitching the ball up and hopefully we can get 10 (wickets) pretty quickly again."
Boult ended with five for 43 while Southee took three for 28.
Only two relative Test novices, Yasir Ali and Nurul Hasan, provided any resistance.
Yasir, in his third Test, made 55 while Nurul was out for 41 in his fifth appearance.
"Of course we're disappointed," Bangladesh batting coach Ashwell Prince said.
"If we can learn something from the Kiwis batting on day one it was that they left a lot more balls outside the off stump.
"The Kiwis got it swinging as well today and bowled really well and made it tough for our guys."
The tourists lost their first four wickets for only 11 runs inside seven overs and were then 27 for five before Yasir and Nurul put together a 60-run partnership.
In a whirlwind start, Boult had Shadman Islam (seven) and Najmul Hossain Shanto (four) both caught by Latham at second slip while Southee bowled debutant Mohammad Naim and captain Mominul Haque without scoring.
The fifth wicket fell in the first over after tea when Boult had Liton Das caught behind for eight.
Southee came back to break up the Yasir-Nurul partnership with a ball that nipped back sharply on Nurul to trap him lbw.
Boult became the fourth New Zealander to take 300 Test wickets when he bowled Mehidy Hasan for five to join Richard Hadlee, Daniel Vettori and Southee.
Kyle Jamieson removed Taskin Ahmed cheaply and Yasir before Boult finished off the innings bowling Shoriful Islam.
Latham's two slip catches came after his marathon innings, the second double-century of his career.
He faced 373 deliveries, with 34 fours and two sixes, and the innings only coming to an end when he went in search of quick runs ahead of the declaration.
He smacked a six, four and another six off successive Mominul Haque deliveries but then mistimed another big hit off Bangladesh captain and part-time spinner to be caught at square leg.
Conway, resuming the day on 99, brought up his hundred with a four off the first ball but was run out soon after with the score on 363 to end a 215-run second-wicket partnership with Latham.
New Zealand's elder statesman Ross Taylor, playing his 112th and final Test, received a guard of honour on his way to the middle from the Bangladesh players and was quickly into his trademark strokes, with boundaries from a cover drive and a cut.
But on 28 he was caught by Shoriful Islam at square-leg off Ebadot Hossain. Henry Nicholls and Daryl Mitchell followed soon after.