Bangladesh set New Zealand a daunting target of 332 on a turning track and then reduced them to 113 for seven to close in on victory on day four of the opening Test in Sylhet on Friday.
Batting last in a spinner-dominated contest, New Zealand had to play out of their skin but a top order meltdown has left them on the brink of defeat in the opening match of the two-test series.
Daryl Mitchell provided some resistance with the bat and was batting on 44 when bad light stopped play with Ish Sodhi on seven at the other end.
Left-arm spinner Taijul Islam claimed 4-40, which ensure Bangladesh did not really miss the bowling of regular skipper Shakib Al Hasan, who is among several frontline players ruled out of the series with injury.
Earlier, resuming on 212-3, Bangladesh were all out for 338 in the second session of the day.
Mushfiqur Rahim (67) completed his fifty, while Mehidy Hasan Miraz made an unbeaten 50 to stretch Bangladesh's lead.
For New Zealand, Ajaj Patel claimed four wickets though he went above four runs per over.
New Zealand were rattled early in their second innings with Shoriful Islam, the lone seamer in Bangladesh's spin-heavy attack, dismissing Tom Latham in the first over before the spinners took over.
Taijul struck a body blow when he trapped Kane Williamson lbw for 11 to put Bangladesh in the box seat.
Williamson offered a forward defensive shot but was beaten by the ball which rapped him low on his front pad.
Williamson opted to review the decision that had gone against him but could not get it reversed.
New Zealand slumped to 60-5 after Taijul dismissed Devon Conway and Tom Blundell in quick successions but Mitchell's obduracy stretched the game to its final day on Saturday.