New Zealand was dismissed for its joint lowest score of 60 in 16.5 overs and Bangladesh then recovered from 7-2 to seal the victory with five overs to spare, making 62-3.
Bangladesh has now bowled both New Zealand and Australia to their lowest T20 total within one month. Bangladesh bowled out Australia for 62 in the fifth and final match in August to win the series 4-1.
Once again Bangladesh' spinners and fast bowler Mustafizur Rahman played a key role on a slow and low surface, with the latter finishing on 3-13.
Left-arm spinners Shakib Al Hasan, Nasum Ahmed and pacer Saifuddin claimed two wickets apiece while offspinner Mahedi Hasan took one.
“This win will boost our confidence,” Shakib said.
“We've been bowling really well through the Australia series and against New Zealand. Our batting is not up to the mark yet, but, having said that, the conditions are not easy for batting.”
Nasum Ahmed removed debutant Rachin Ravindra with a return catch in the third ball of the innings after Tom Latham opted to bat first. Shakib then joined him to slice the top order and reduce the Kiwis to 9-4 in just the fourth over.
Latham and Henry Nicholls shared 34 runs for the fifth wicket and appeared set to stabilize the innings. But both of them perished to a big shot against pacer Saifuddin after scoring 18 runs each.
They were the only two batsmen to reach double figures.
Mustafizur Rahman cleaned up the tail to deny the visitor's a chance to get the score past 100.
“Slightly disappointing with the start. We knew it was going to be tough but we kept losing wickets at crucial times,” Latham said.
“For us, it's about finding a way in these conditions and try to assess what a good score is. With runs on the board, it isn't easy.”
Offspinner Cole McConchie, one of the two debutants in New Zealand's team, and left-arm spinner Azaz Patel gave the side a glimmer of hope by removing openers Mohammad Naim and Liton Das in quick succession.
But experienced Shakib Al Hasan kept the side's nose ahead with a small but valuable 25 off 33 before Rachin Ravidra accounted him for his debut wicket.
Mushfiqur Rahim, who returned to the squad after missing the Australia series, and skipper Mahmudullah then drove the side to the victory, with the former hitting McConchie for a mid-wicket boundary.
Rahim was on 16 with Mahmudullah on 14. The second match is on Friday. (AP)