Imrul Kayes and Soumya Sarkar made magnificent centuries as an ODI-best hundred from Sean Williams was unable to prevent Bangladesh from sealing a seven-wicket victory and a series whitewash of Zimbabwe in Chittagong.

The tourist recovered from 6-2 to post 286-5 on Friday, Williams scoring a brilliant unbeaten 129 and Brendan Taylor making a second consecutive 75.

Zimbabwe was sensing a consolation win when Kyle Jarvis removed Liton Das with the first ball of the Tigers' innings, but Kayes (115) reached three figures for the second time in an incredible series for the opener and Sarkar marked his recall with a century as Bangladesh eased to victory.

Opener Kayes took his tally for the series to 349 in three innings, while Sarkar smashed 117 from only 92 balls - including six sixes – as Bangladesh sealed a 3-0 win with 47 deliveries to spare.

Zimbabwe was in trouble when Williams joined Taylor at the crease in the third over with captain Hamilton Masakadza and Cephas Zhuwao back in the pavilion, but a third-wicket stand of 132 steadied the ship.

Taylor was chief aggressor, clearing the ropes three times and bringing up his half-century from only 49 balls before Nazmul Islam (2-58) had the wicketkeeper-batsman caught behind.

Sikandar Raza (40) offered support for Williams, who held the innings together and continued to put away any loose deliveries after surviving an appeal for obstructing the field early in his knock, reaching only his second ODI hundred in the 44th over.

Peter Moor struck Mashrafe Mortaza for back-to-back sixes after Raza departed as Zimbabwe set Bangladesh what appeared to be a challenging target.

Jarvis got Zimbabwe off to an ideal start when he trapped Das lbw, but Kayes and Sarkar knocked the stuffing out of Hamilton Masakadza's men by putting the Tigers well on course for another emphatic win.

Sarkar struck Wellington Masakadza for two sixes in as many balls and dished out more brutal treatment as the runs flowed all too easily on a flat track, the all-rounder reaching his second ODI century off only 81 balls.

He hit Raza over the ropes twice in the same over before falling with the Tigers needing only 67 off 20 overs, leaving Kayes to complete a fourth ODI hundred and Mushfiqur Rahim launched Williams for six to win it after the opener fell to Wellington Masakadza.