The Tigers continued their recent 50-over dominance over New Zealand on their home soil - they have now won their past six ODIs against them on the sub-continent - after defending 247 all out.
Career-best figures of four for 40 from Corey Anderson, and a further four wickets from James Neesham, had restricted the hosts but New Zealand's run chase never gained enough momentum as they were bowled out for 207 from 46.4 overs.
Three wickets from new-ball pair Sohag Gazi and Mashrafe Mortaza effectively blocked off New Zealand hopes, which were sent into terminal decline when five quick wickets fell after a 61-run stand between Ross Taylor (45) and Anderson (37) for the fourth wicket.
That pairing had been forced to repair the chase after the top-order failed, slipping to 45 for three.
Hamish Rutherford managed just one when he played on aiming a lavish drive at Mortaza before Anton Devcich and Grant Elliott failed to get past 20.
The absence of Kane Williamson, sent home after fracturing his thumb in Tuesday's opener, robbed New Zealand of the steadying presence they would have liked but former skipper Taylor and Anderson appeared to be wresting the advantage their way.
That all changed when Mashrafe had Anderson caught behind on 37 from 40 balls.
His exit prompted the Kiwis' decline as Brendon McCullum, Tom Latham and Neesham fell in the space of 13 runs.
The tourists' grip on the contest then loosened irretrievably when Taylor also perished shortly after, chipping Gazi to Mahmadullah at long-on.
Nathan McCullum and Kyle Mills at least ensured New Zealand passed 200, but the required rate was beyond them to concede the three-match series.
Earlier, a Tamim Iqbal half-century had given the hosts a solid start, but regular wickets after the opener was dismissed in the 32nd over kept them in check.
Tamim and debutant Shamsur Rahman, the only Bangladesh chance from the opening 43-run Duckworth-Lewis method win, combined in a game-high 63-run opening stand.
Rahman was stumped on 25 trying to smack his third six off Nathan McCullum's spin.
Anderson made his first breakthrough when Mominul Haque pulled a slower ball to deep mid-wicket, before claiming key man Tamim when an advance down the wicket ended only in him chopping on.
The Tigers then began to lose their way when three wickets fell in as many overs after they had delayed the batting powerplay as late as possible.
Neesham removed skipper Mushfiqur Rahim and Nassir Hossain, either side of the recalled Mills locating Naeem Islam's outside edge.
Mahmudullah (21) and Gazi (26) made starts but Anderson nipped out both before they could hit full flow as he returned his career-best figures.
Neesham then wrapped up the tail with an over to spare to finish with four for 53.