Taskin Ahmed claimed three for 33 while Shakib Al Hasan and Mustafizur Rahman grabbed two wickets each as Bangladesh restricted Afghanistan to 116-7 in the second Twenty20 international in Sylhet on Sunday.
Azmatullah Omarzai top-scored with 25 as Afghanistan struggled to keep their innings going after Bangladesh won the toss and opted to bowl first.
Rain halted play for one-and-a-half hours after just seven overs, prompting the match officials to reduce the contest to 17 overs per side.
Afghanistan, who must win the game to level the series, were already struggling, losing both openers Rahmanullah Gurbaz (eight) and Hazratullah Zazai (four) to Taskin with 16 runs on the board.
Mustafizur removed Mohammad Nabi for 16 after play resumed, and in the next over Shakib dismissed both Ibrahim Zadran (22) and Najibullah Zadran, reducing Afghanistan to 67-5.
But Omarzai and Karim Janat put on 42 runs for the sixth wicket to revive the innings.
Mustafizur ended Omarzai's 21-ball knock forcing him to give Shamim Hossain a catch at deep third man.
Janat was out to Taskin in the final over for 22.
Shakib finished with 2-15 while Mustafizur claimed 2-30.
Bangladesh won the opening match of the series by two wickets on Friday.