Chasing 255 for victory, Bangladesh could not recover from a top-order collapse and kept on losing wickets at regular intervals to be bundled out for 222 in 47.5 overs at Khan Shaheb Osman Ali Stadium to slump to their second consecutive loss in the five-nation regional tournament.
Barring Mominul Haque (50), Nasir Hossain (41) and Ziaur Rahman (41), none of their batsmen showed enough patience to stay at the crease and grind it out.
Afghanistan's inexperience at the international level was on full display when their butterfingered fielders dropped as many as four catches and gave away few easy runs.
But the gutsy team from the strife-torn nation held its nerve to pull off a dramatic victory over Bangladesh, kicking off jubilant celebrations in their camp.
This was after rearguard half-centuries from Asghar Stanikzai (90 not out) and Samiullah Shenwari (81) took the visitors to 254 for 6 after being put in to bat.
Bangladesh conceded 107 runs from last 10 overs as the duo of Stanikzai and Shenwari first stressed on building the innings and then unleashed an array of powerful strokes at the death to post a competitive total.
