Vishwa Fernando claimed four wickets as Sri Lanka bowled out Bangladesh for 188 runs on Saturday during the second afternoon of the first Test in Sylhet.
Lahiru Kumara and Kasun Rajitha each claimed three to leave the hosts trailing Sri Lanka’s first-innings total of 280 by 92 runs.
Sri Lanka were 19-1 in response after Nahid Rana sent back Nishan Madushka for 10 at the stroke of tea, with Dimuth Karunaratne still at the crease.
Nightwatchman Taijul Islam top-scored with a career-best 47 for Bangladesh after resuming on 32-3 alongside opener Mahmudul Hasan.
Kumara struck with his first ball of the innings when he forced overnight batsman Mahmudul Hasan to edge to Dhananjaya de Silva at second slip.
Mahmudul, who was unbeaten on nine overnight, departed for 12.
Shahadat Hossain played a few attacking shots before he too fell to Kumara in the same manner for 18 runs.
Taijul and Liton Das added 41 runs for the sixth wicket before Kumara struck again.
A late swinger knocked back Liton’s middle stump, sending him to the pavilion for 25 after a brief spell at the crease punctuated by four boundaries.
Taijul was out off Rajitha after nicking the ball behind the stumps to wicketkeeper Kusal Mendis.
Rajitha also removed the last recognised batsman Mehidy Hasan for 11, leaving the bottom order to cut the deficit as much as possible.
Khaled Ahmed and Shoriful Islam obliged, hitting four sixes between them.
Fernando ended their 40-run partnership when he removed Shoriful for 15 and wrapped up the innings in his next over by sending back Khaled for 22.
Sri Lanka made 280 runs in their first innings on the first day thanks to centuries from de Silva and Kamindu Mendis, who both scored 102.
Sri Lanka have never lost a Test series to Bangladesh.
The second and final match of the series will be played in Chittagong from March 30.