Openers Rahmanullah Gurbaz and Ibrahim Zadran both scored hundreds as Afghanistan crushed Bangladesh by 142 runs on Saturday to seal their three-match one-day international series.

Bangladesh were attempting to put a strange week behind them after captain Tamim Iqbal shocked his teammates by announcing his immediate retirement on Thursday only to change his mind a day later.

Afghanistan's openers laid the foundation for a mammoth total of 331-9 in Chittagong with their 256-run stand, a record partnership for the tourists, before their bowlers did the rest.

Fazalhaq Farooqi claimed 3-22 and Mujeeb Ur Rahman took 3-40 as Afghanistan bowled out Bangladesh for 189 in the 44th over.

The victory makes Afghanistan just the second team to win an ODI series in Bangladesh in the past seven years after world champions England.

Mushfiqur Rahim top-scored for the hosts with 69 in a lonesome battle for the hosts after they were reduced to 72-6, with some support from Mehidy Hasan in a 87-run partnership for the seventh wicket.

Mujeeb Ur Rahman dismissed Mehidy for 25, leaving Mushfiqur too much to do.

Mushfiqur holed out to Mujeeb at deep square leg off Farooqi, ending the contest with last man Ebadot Hossain unable to bat.

Bangladesh, who lost the first match by 17 runs on Wednesday, had opted to bowl first after stand-in skipper Litton Das won the toss.

The hosts struggled to make breakthroughs on a green surface and by the time Shakib Al Hasan had Gurbaz leg-before, Afghanistan were already closing in on their previous best score against Bangladesh of 306-4.

Gurbaz, who scored his fourth ODI ton, smashed 145 from 125 balls, hitting 13 fours and eight sixes.

A few other quick wickets followed as Ebadot dismissed Rahmat Shah (two), while Mehidy removed Hashmatullah Shahidi (two) and Najibullah Zadran (10).

Shakib, Mehidy, Mustafizur and Hasan Mahmud each claimed two wickets for Bangladesh.

Ibrahima fell to Mustafizur for an even 100 from 119 deliveries.

Tamim announced his retirement in an emotional press conference on Thursday, the day after Bangladesh's narrow loss in the series opener.

But he withdrew his retirement after meeting with Prime Minister Sheikh Hasina on Friday, saying that he had been ordered to change his mind.

He will instead take a six-week sabbatical and be back for the Asia Cup.

The third and final match of the series will be held at the same ground on July 11.