Rashid Khan claimed 6-49 as Afghanistan thrashed Bangladesh by 224 runs in Chittagong Monday, equalling Australia's longstanding record as the quickest nation to chalk up two victories in Test cricket.
The Afghans defied rain and fading light to take the one-off Test, a historic win for the war-torn country that only earned full member status of the International Cricket Council in 2017.
Rashid grabbed three of the remaining four wickets as Afghanistan took 17.2 overs on the fifth day to bowl out Bangladesh for 173 in the second innings after the hosts resumed with 136-6.
Soumya Sarkar was the last man dismissed when he flicked man of the match Rashid to Ibrahim Zadran at short leg with 20 balls left in the game.
"We won this game against a side like Bangladesh," said Rashid, who made his debut as the youngest-ever Test captain and finished with 11 wickets.
"We are new to this format, so credit goes to the coaching staff for their support. Everyone applied themselves and stuck to their plans."
Cricket has become the national sport of war-torn Afghanistan, with many of the Afghan players cutting their cricketing teeth in refugee camps in Pakistan.
The squad played their first Test last year, losing to cricketing giants India but claimed their first-ever victory in Test cricket in March when they beat fellow newcomers Ireland.
Bangladesh skipper Shakib was full of praise for Rashid's side.
"They deserve this victory. After playing for 20 years, we can't say it's a build-up process," he said.
"It's been a while since we played our last Test match, but Afghanistan kept the pressure on us, credit goes to their hard work."
Afghanistan have become a growing force in the sport in recent years, gaining one-day international status in 2009 and reaching two 50-over World Cups including the recent tournament in England.
They have also been part of four Twenty20 World Cups.
Play in Bangladesh's port city of Chittagong started on the fifth day at 1:00pm local time after rain wiped out the first session.
But rain returned in abundance after the visitors bowled just 2.1 overs without being able to inflict any damage on the home side.
Play resumed again at 4:20pm and Afghanistan were given 18.3 overs to bowl out Bangladesh, which was chasing a target of 398 runs.
Left-arm chinaman Zahir Khan dismissed overnight batsman Shakib Al Hasan in the first ball after the resumption, dealing a serious blow to the home side.
Afsar Zazai took a sharp catch behind the stump to remove Shakib for 44 and then Rashid did the rest.
Rashid trapped Mehidy Hasan dead in front for 12 and dismissed Taijul Islam in the next over for a duck to leave the last wicket pair of Soumya Sarkar and Nayeem Hasan to survive 7.3 overs.
Afghanistan made 342 runs in the first innings, owing to 102 runs of Rahmat Shah, the first-ever Test century for the country, before they bowled out Bangladesh for 205 runs to gain a massive 137-run lead.
Afghanistan rode on teenage debutant Ibrahim Zadran's 87 to score 260 runs in the second innings, setting a daunting target of nearly 400 runs for Bangladesh.