Young off-spinner Afif Hossain claimed two wickets for nine to help Bangladesh limit Afghanistan to 138-7 in Saturday's tri-nation Twenty20 international in Chittagong.
Hazratullah Zazai took 47 off 35 balls in a 75-run opening stand with Rahmanullah Gurbaz before Afif's double strike in the tenth over swung the match to the hosts.
Shafiqullah was unbeaten on 23 off 17 balls after a blitz through the visitors' middle order.
Mohammad Saifuddin, Shafiul Islam, Shakib Al Hasan and Mustafizur Rahman all claimed a wicket each for Bangladesh.
Both teams have already qualified over Zimbabwe for next week's final in Dhaka after each winning two of three matches in the tournament.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)