Corey Anderson chalked up 94 off just 41 balls for the hosts, hitting a record 10 sixes as his side posted 194 for four.
The tourists were 89 for two after 10 overs, but failed to maintain the momentum after Sarkar fell for 42.
New Zealand were on the back foot early on, slumping from 34-0 to 41-3 in the space of 11 deliveries, but Anderson and captain Kane Williamson upped their game in the second half of the innings and produced a 139 runs between them.
The pair also set a new New Zealand fourth-wicket partnership record of 124 during the victory.
Meanwhile, defeat for Bangladesh leaves them winless after three 50-over matches and three T20s, with two Tests remaining on their tour.