Tamim Iqbal became Bangladesh's top run scorer in one-day cricket on Thursday as his team beat New Zealand by 40 runs in the second ODI to take an unassailable 2-0 lead in the three-match series.
Set a target of 248, New Zealand caved in for 207 in 46.4 overs to suffer their sixth successive ODI defeat to Bangladesh, who won Tuesday's series opener by 43 runs.
Off-spinner Sohag Gazi and paceman Mashrafe Mortaza led Bangladesh's bowling attack, sharing six wickets between them to stifle New Zealand, who lost to Bangladesh 4-0 in their previous visit in 2010.
Mashrafe provided the early breakthrough when he bowled Hamish Rutherford for one before Sohag took a return catch to dismiss the other opener, Anton Devcich for 19.
The tourists were soon on 45-3 when Abdur Razzak trapped Grant Elliot lbw for 14.
Corey Anderson (37) and Ross Taylor tried to repair the damage, but a stunning catch by Mushfiqur Rahim off Mashrafe ended their 61-run stand and gave Bangladesh a firm grip on the match.
Bangladesh sensed victory when occasional left-arm spinner Mominul Haque had New Zealand captain Brendon McCullum out lbw for 14.
Taylor (45) held down one end before he was caught by Mahmudullah off Sohag at long on.
Some late blows by Nathan McCullum (25 off 23 balls) and unbeaten Kyle Mills (27 off 25 balls) only delayed the inevitable.
Earlier, Corey Anderson and James Neesham each grabbed four wickets as New Zealand bowled out Bangladesh for 247 on a slow Sher-e-Bangla pitch.
Anderson finished with 4-40 while Neesham claimed 4-53, his second successive four-wicket haul in the series.
Bangladesh also lost wickets at crucial times even though most of their batsman got a decent start.
Tamim Iqbal scored an arduous half-century but was out just when the team were looking for him to accelerate.
His 58 off 86 balls, which included five fours and a six, saw him overtake Shakib Al Hasan to become Bangladesh's leading scorer in one-day international cricket.
Tamim, who has now 3,702 runs to his name in 124 ODIs, put on 63 with debutant Shamsur Rahman in the opening stand after captain Mushfiqur Rahim won the toss and elected to bat.
Shamsur, replacing Anamul Haque in the line-up, managed only 25 before he fell to Nathan McCullum.
Bangladesh went into the batting powerplay in the 36th over on 149-3, but three wickets in three consecutive overs pegged them back.
Mominul Haque (31) and Mushfiqur Rahim (31) were the other notable scorers for Bangladesh.
The third match of the series will be held on Sunday at Fatullah.