Henry Nicholls hit a fine 68 before disciplined Bangladesh bowlers restricted New Zealand to 247-8 in the opening one-day international in Dhaka on Friday.
New Zealand, who won the toss and chose to bat in what is the first of a three-match ODI series, were tested early by left-arm seamer Shoriful Islam, drafted in at the last minute to replace Mustafizur Rahman due to knee discomfort.
Shoriful, who last played an ODI in December 2024, created an immediate impact, removing opener Nick Kelly for seven and conceding just nine runs in his first five overs, while also creating two further chances.
Nicholls then anchored the innings with a composed 68 off 83 balls, hitting nine fours for his 17th ODI half-century. The 34-year-old stitched together useful partnerships with Will Young (30) and captain Tom Latham (14) to steady the innings after the early setback.
Young survived an early drop on one off Shoriful but fell to leg-spinner Rishad Hossain while attempting a reverse sweep, edging to slip.
Rishad struck again soon after, dismissing Nicholls with another failed reverse sweep to leave New Zealand under pressure.
Latham and Muhammad Abbas failed to build on the platform, but all-rounder Dean Foxcroft counter-attacked with a brisk 59 off 58 balls, featuring eight fours, to lift the visitors past 200. He was eventually bowled by Nahid Rana attempting a yorker-length delivery.
Nathan Smith's unbeaten 21 off 22 balls provided a late boost as New Zealand reached a competitive total.
Shoriful finished with 2-27, while Taskin Ahmed and Rishad Hossain claimed two wickets apiece for Bangladesh.