NELSON: New Zealand captain Kane Williamson made an unbeaten 95 and deployed his bowlers expertly on a slow pitch to steer the hosts to a comfortable eight-wicket win over Bangladesh in the third one-day international on Saturday, completing a clean sweep of the series.

Williamson shared a record 185-run partnership with Neil Broom (97) for the second wicket which guided New Zealand to 239-2, winning with 8.4 overs to spare, in response to Bangladesh's inadequate total of 236-9.

Their partnership was the highest for the second wicket by New Zealand in one-day internationals against all nations.

Broom was dropped before he had scored at first slip by Imrul Kayes from the bowling of Mustafizur Rahman. He took full advantage of the reprieve and was approaching back-to-back centuries when he gave Mustafizur belated revenge by edging a ball from the young fast bowler to captain Masrafe Mortaza at gully.

By that stage, New Zealand was 195-2 and well on the way to victory against a Bangladesh team that was again undone by a middle-order collapse, as it was in the previous game.

The visitors were 102-0 after winning the toss and batting, with Tamim Iqbal (59) and Imrual Kayes (44) sharing a century opening stand. But the top order crumbled to 170-6.

Bangladesh's bowlers applied early pressure, dismissing opener Tom Latham for 4 and then seeing Martin Guptill retire hurt with a hamstring strain, leaving the home team effectively two wickets down with 16 runs scored.

Had Broom's chance to slip been taken, New Zealand would have been hard-pressed to stave off its first-ever loss to Bangladesh in a one-day international in New Zealand.

Instead, Broom came within three runs of back-to-back centuries following his 109 not out in the second match; celebrating his recall to the one-day team after a six-year absence.

Williamson had a chance to score his ninth one-day international century but allowed Broom, and then James Neesham (28 from 23 balls) to take the scoring initiative late.

"We improved throughout each match and today was far more the complete performance that we were after," Williamson said. "That's a lot of credit to our boys in the way they were smart on the surface but a lot of credit to Bangladesh.

"Coming over here in conditions they're not entirely used to they put up a good fight and put us under pressure."

Bangladesh failed to capitalize on a strong start after winning the toss and batting.

The century opening stand seemed to have set up the tourists for a big score but the visitors rapidly lost the next six wickets.

Williamson again deployed his bowlers well on a Saxton Oval pitch which was too slow to allow confident shot-making. He handed the new ball to the 36-year-old off-spinner Jeetan Patel, who was playing his first one-day international since 2009, and gave 28 of the 50 overs to slow bowlers, personally taking 1-24 from eight overs of off-spin.

"There were some good individual performances but as a team we couldn't go through with it," Mortaza said.

"After five years coming to play in New Zealand we're improving lots. There are some issues but we have to prove as a team we're a lot better."