Najmul Hossain struck his third Test century as Bangladesh dominated a hapless Afghanistan to score 362-5 on the first day of the one-off Test in Dhaka on Wednesday.
Najmul made 146 off 175 balls and set up an imposing total in his 212-run second-wicket partnership with Mahmudul Hasan, who hit 76 to make his third Test fifty.
Mushfiqur Rahim was not out on 41 alongside Mehidy Hasan Miraz on 43 when bad light forced stumps with 11 overs left on the opening day.
Afghanistan, who are without talismanic all-rounder Rashid Khan, were on the back foot for most of the day after electing to bowl first on a rare green-top wicket at the Sher-e-Bangla National Stadium.
Debutant medium pacer Nijat Masood was the most successful Afghan bowler with 2-67, removing Zakir Hasan for one on his very first Test delivery in the second over.
The sharp catch from wicketkeeper Afsar Zazai had to be confirmed by the television umpire after an initial decision of not out.
But Najmul and Mahmudul immediately forged a strong partnership to take control of the proceedings and deny the visitors further momentum.
Najmul hit back-to-back fours off Yamin Ahmadzai in the first over he came to bat and brought up his fifty off 58 balls with a boundary off leg-spinner Zahir.
Occasional spinner Rahmat Shah broke their partnership when Mahumdul attempted a cut shot only to edge a catch to Ibrahim Zadran at slip.
Mahmudul hit nine boundaries in his sedate 137-ball innings.
Afghanistan enjoyed a brief spell of success in the post-tea session when Nijat dismissed Mominul Haque, caught behind down the leg side, for 15.
Najmul fell soon after, heaving a catch to Nasir Jamal at deep midwicket off left-arm spinner Amir Hamza in his attempt for his third six in the innings.
The 24-year-old left-hander smashed 23 fours in his sizzling innings.
Stand-in captain Liton Das followed him quickly, poking Zahir to Ibrahim at slip after making nine runs.
But Mushfiqur and Mehidy halted further collapse and slowly reestablished Bangladesh's authority with their unbroken 72-run sixth wicket stand.
Afghanistan won the only other Test between the two teams when they beat the home side by 224 runs at Chittagong in 2019.