Dhaka - Opener Tamim Iqbal scored a record century but Afghanistan managed to restrict Bangladesh to 279-8 in the series-deciding third one-day international in Dhaka on Saturday.
Tamim made the most of an early life to hit 118 in as many balls to give Bangladesh a platform for a big total but the home side lost the momentum once he fell to Mohammad Nabi.
Substitute fielder Naveen-ul-Haq took the catch at long-off to end the onslaught of Tamim, who hit 11 fours and two sixes in his seventh ODI hundred, the most by a Bangladesh cricketer.
Dropped by Afghanistan captain Asghar Stanikzai when he was only on one run Tamim never looked back and completed his century with a single off Dawlat Zadran before hitting Rahmat Shah two sixes off successive balls.
Tamim got very good support from one down Sabbir Rahman, who scored his career best 65 off 79 balls and put 140 runs for the third wicket with the left-hander after the early dismissal of opener Soumya Sarkar (11).
Needing a win for their sixth consecutive series victory at home soil, Bangladesh captain Mashrafe Mortaza elected to bat first and was looking for exactly this kind of platform from his top-order batsmen.
Bangladesh looked on course to well excess of 300 runs when the duo batted but dramatically lost their way, something that has typified their batting throughout the series.
Leg-spinner Rashid Khan stopped the run flow, along with Nabi, with two crucial wickets and finished with 2-39.
Medium pacer Mirwais Ashraf also played his part with two wickets for 43 runs.
Mahmudullah staged a late recovery for Bangladesh with an unbeaten 32 from 22 balls.
The three-match series is currently locked at 1-1 after Bangladesh won the first match by seven runs before Afghanistan avenged the defeat with a two-wicket win in the second match.