Dhaka - Leg spinner Rashid Khan took 3-35 as Afghanistan dismissed Bangladesh for a modest 208 runs in the second one-day international in Dhaka on Wednesday.
Needing a win to bounce back in the three-match series, Afghanistan's slow bowlers bowled brilliantly to restrict Bangladesh as off-spinner Mohammad Nabi claimed 2-16 in his 10 overs.
Medium pacer Mirwais Ashraf took 2-23 to complement the spin duo while leg-spinner Rahmat Shah and pacer Naveen-ul-Haq chipped in with vital wickets.
Debutant middle-order batsman Mosaddek remained unbeaten on 45 to help Bangladesh pass the 200-run mark.
Put into bat first, Bangladesh, who are looking for their 100th ODI win and wrap-up the series after winning Sunday's first match by a narrow seven runs, made cautious start with opening pair fetching 45 runs.
Ashraf removed both the openers Tamim Iqbal (20) and Soumya Sarkar (20) before Mushfiqur Rahim and Mahmudullah revived the innings adding 61 runs for the third wicket.
Afghan spinners took the control of the proceedings once Naveen-ul-Haq bowled Mahmudullah for 25.
Rahim, who scored 38, soon followed Mahmudullah attempting his favourite slow-sweep as Naveen-ul Haq took the catch at deep square leg off leg-spinner Shah.
Nabi trapped Shakib Al Hasan leg-before for 17 before Rashid worked out the lower order.
Just when it looked Bangladesh were about to be dismissed well below 200 runs, Mosaddek, who replaced Imrul Kayes in the starting line-up, staged a fightback with last man Rubel Hossain.
The duo put 43 runs in the last wicket pair before Rubel was out in second ball of the innings' final over.
The third and final match of the series will be held on October 1.