The pace trio of Blair Tickner, Nathan Smith and Will O'Rourke shared eight wickets to play a crucial role in bowling out Bangladesh for 221 in 48.3 overs.
Electing to bat first, New Zealand posted a challenging 8-247 on a slow wicket, riding a patient 68 from opener Henry Nicholls and a brisk 59 from Dean Foxfort.
After the early departure of Nick Kelly, Nicholls added 73 runs with Will Young (30) to steady the innings, defying a superb spell by pacer Shoriful Islam.
Shoriful, who was playing his first ODI since December 2024 after replacing the injured Mustafizur Rahman, claimed 2-27 in 10 overs.
New Zealand's three-pronged pace attack then unsettled the Bangladesh batters.
Tickner ended with 4-40, claiming all four wickets in his last four overs.
Smith produced the initial blow, dismissing Tanzid Hasan Tamim and Najmul Hossain Shanto in consecutive deliveries before wrapping up the Bangladesh innings with the wicket of Towhid Hridoy to finish on 3-45.
After a shaky start that saw them slump to 2-21, Bangladesh regrouped through Saif Hasan and Liton Das whose 93 runs kept the side firmly on course.
But O'Rourke broke through with the wicket of Saif, who made a team-best 57 after surviving on one. Foxfort got rid of Liton for 46 but Hridoy and Afif resisted. They combined for a 52-run partnership for the fifth wicket to help the side claw back into the contest.
Left-arm spinner Jayden Lennox sent back Afif for 27 to break the partnership, leaving Hridoy to dig deep.
Tickner, who had been somewhat erratic in his first spell, came back strongly to clean up the tail.