Bangladesh sealed a 3-0 One-Day International series win over New Zealand by chasing down 309 to win the final match in Fatullah by four wickets.

After New Zealand, thanks to Ross Taylor's 107 not out and Colin Munro's 85 had posted 307 for five, Bangladesh reached 309 for six with four balls to spare.

Shamsur Rahman hit 96, Naeem Islam 63 and Nasir Hossain 44 not out in 38 balls to help the Tigers maintain their impressive unbeaten run against New Zealand, which in ODIs stretches back to 2010.

They have not lost to the Black Caps in an ODI at home since 2008 and although this was their third highest total in ODI cricket, it wasn't quite their highest successful run chase, beaten by the 313 they achieved against Zimbabwe in 2009.

Nevertheless, it was quite a performance although New Zealand were hampered by the absence of both Kane Williamson and Brendon McCullum. While the former had already headed home with a fractured thumb, McCullum was a late withdrawal due to a back injury and he is on his way back to New Zealand, missing the Twenty20 International on Wednesday in Sylhet.

Bangladesh were missing Tamim Iqbal but his loss was hardly felt as Rahman opened the batting and made his 96 in 107 balls with nine fours and four sixes.

While he missed out on a century, Taylor had earlier reached his eighth ODI ton to help set up a late charge that lifted New Zealand's score past 300.

Anton Devcich (46) and Tom Latham (43) had given them an excellent and after Grant Elliott fell for three, Taylor and Munro added 130 for the fourth wicket.

Munro hit seven fours and two sixes in 77 balls but after he and Corey Anderson (1) fell, Taylor accelerated to reach his century and add 75 runs inside the final six overs with Luke Ronchi helping him along with 13 not out in 10 balls.

Bangladesh charged out of the blocks in reply, Ziaur Rahman making 22 in 20 balls but Shamsur dominating an opening partnership of 61.

He then added 65 with Mominul Haque (32) before New Zealand fought back. Devcich removed Mominul and Nathan McCullum had Mushfiqur Rahim caught by Taylor for two and at 129 for three in the 20th over, the game was still in the balance.

Shamsur and Naeem then shifted it back towards Bangladesh's favour with 75 runs for the fifth wicket; with Shamsur on the brink of a memorable maiden century he was caught by Ronchi off Anderson.

However, Bangladesh built another partnership - at no point did one wicket bring another for New Zealand's captain Kyle Mills.

Naeem added 50 with Nasir Hossain before Mitchell McClenaghan and Ronchi ran him out for 63 in 74 balls.

Nasir then took centre stage and with Mahmudullah (16) and then Sohag Gazi (11 not out) offering excellent support, his 44 in 38 balls with five fours and a six took Bangladesh home in the final over when he cut McClenaghan for four over cover.