Bangladesh, which lost the first match by five wickets now need only 191 to make the three-match series 1-1.
Opener Ibrahim Zadran battled lonely for Afghanistan but denied a century by five runs as Bangladesh captain Mehidy Hasan Miraz got the better of him on 95.
He was symbol of stubbornness amid the wickets tumbling around him and played 140 balls, hitting only three fours and one six.
He was the eighth batter to be out, effectively dismissing Afghanistan’s to propel past 200-run mark.
Apart from the prized scalp of Zadran, Miraz got two more wickets to finish with 3-42 in 10 overs.
Tanzim Hasan Sakib and Rishad Hossain complemented the captain with two wickets apiece.
Tanzim gave the first breakthrough, having dismissed Rahmanullah Gurbaz for 11 after Afghanistan opted to bat first.
Left-arm spinner Tanvir Islam got rid of Sediqullah Atal before Afghanistan’s innings received further setback as Rahman Shah was retired hurt. He couldn’t return to bat later.
Mohammad Nabi and AM Ghazanfar scored 22 runs each but that was also not enough to take the side past 200, reports BSS.