Tamim Iqbal missed out on a century as New Zealand restricted Bangladesh to 228-5 on the first day of the second Test in Dhaka on Monday, before rain ended play early.
The dismissals of Tamim for 95 and Shakib Al Hasan for 20 just before the tea break put the Black Caps on top, with bad weather preventing play in the final session.
Tamim edged Neil Wagner to Kane Williamson at slip, before leg-spinner Ish Sodhi trapped Shakib Al Hasan leg-before.
Before the twin blows, Bangladesh had made steady progress after skipper Mushfiqur Rahim won the toss and elected to bat in overcast conditions at the Sher-e-Bangla National Stadium.
Tamim, who smashed 17 fours in his entertaining 153-ball knock, put on 76 with Mominul Haque (47) for the third wicket and 67 with Marshall Ayub (41) for the second.
Trent Boult gave New Zealand their first wicket when Anamul Haque (seven) miscued a pull shot and Williamson took the catch.
Ayub looked solid until Wagner, who replaced left-arm spinner Bruce Martin in New Zealand's line-up from the drawn first Test, bowled him.
The right-handed Ayub struck six boundaries in his 62-ball innings.
Corey Anderson ended Mominul's innings by having him caught behind.
Tamim prospered after surviving two dropped catches at the start of his innings.
Wicketkeeper Bradley-John Watling dropped the left-hander on five before skipper Brendon McCullum let him off at second slip at 10. Doug Bracewell was the unlucky bowler on both occasions.
Bangladesh made one change to their team that drew the first Test in Chittagong, bringing in uncapped paceman Al Amin Hossain for injured Robiul Islam.