Mominul Haque's fine knock of 181 took Bangladesh close to New Zealand's first-innings total of 469 on the third day of the first Test in Chittagong on Friday.
At stumps, tail-enders Sohag Gazi (28) and Abdur Razzak (one) were at the crease, with the hosts on 380 for seven wickets, trailing the touring side by 89 runs.
Resuming on his overnight score of 77, the 22-year-old Mominul continued his aggressive approach to reach his maiden Test hundred off 98 deliveries.
Bangladesh built their innings around Mominul and the first meaningful partnership of 126 runs was shared by the left-handed batsman and Marshall Ayub (25).
Mominul, playing his fourth Test, added 46 for the fourth wicket with Shakib Al Hasan (19) and another 121 with captain Mushfiqur Rahim (67) for the fifth.
His 181 was the third highest score by a Bangladeshi batsman in tests and came off 274 deliveries, including 27 fours.
Mominul became debutant paceman Corey Anderson's second wicket of the day when he was adjudged lbw.
Captain Mushfiqur, who hit 10 fours and two sixes, also fell five deliveries later to give paceman Doug Bracewell his second wicket.
The other debutant, leg-spinner Ish Sodhi, picked up his first Test wicket and the last of the day when Nasir Hossain (46) top-edged a pull off the 20-year-old to be caught at mid-on by Kane Williamson.
New Zealand (1st innings): 469 (K. Williamson 114, BJ Watling 103, P. Fulton 73, Abdur Razzak 3-147)
Bangladesh (1st innings): (overnight 103-2):
Tamim Iqbal c Williamson b Boult 0
Anamul Haque lbw b Bracewell 3
Marshall Ayub c Watling b Anderson 25
Mominul Haque lbw b Anderson 181
Shakib Al Hasan c Watling b Williamson 19
Mushfiqur Rahim c Taylor b Bracewell 67
Nasir Hossain c McCullum b Sodhi 46
Sohag Gazi not out 28
Abdur Razzak not out 1
Extras: (LB-8, W-1, NB-1) 10
Total: (for seven wickets, 116 overs) 380
Fall of wickets: 1-1, 2-8, 3-134, 4-180, 5-301, 6-301, 7-371
Bowling: Boult 17-7-32-1, Bracewell 18-2-71-2, Martin 21-2-83-0, Sodhi 22-2-89-1, Anderson 14-7-23-2, Williamson 24-3-74-1.