Corey Anderson smashed his first test century as New Zealand reached 419 for eight against Bangladesh to take a first innings lead of 137 on the third day of the second and final test in Dhaka on Wednesday.
Anderson, competing in his second test, smashed 13 fours and two sixes in his 116 before being caught at extra cover by Sohag Gazi to give seamer Al-Amin Hossain his first test wicket.
After a 20-minute rain delay, New Zealand resumed the third day on 107 for three in reply to the hosts first innings of 282 all out and the visitors looked in trouble when Ross Taylor was removed for 53 in the fourth over by Shakib Al Hasan.
The former captain was caught in the slips by Nasir Hossain to leave New Zealand on 127-4.
But in stepped the 22-year-old Anderson, who put on 140 for the fifth wicket with Kane Williamson (62) to help the tourists close on the hosts' total.
Williamson departed after a miscue to deep midwicket off the bowling of Abdur Razzak before Anderson followed eight overs later to leave the Black Caps on 287 for six but wicketkeeper BJ Watling (59 not out) steered the tail expertly.
Doug Bracewell (17) and Neil Wagner (8) held up the Bangladeshi charge before Kiwi spinner Ish Sodhi struck his first test half century to sit unbeaten on 55 with Watling when stumps were called.
Bangladesh are looking for their first test win over New Zealand. The first test in the series was drawn.
(Writing by Patrick Johnston; editing by Ken Ferris)