Bangladesh kept them on the front foot in the series-opening Test against Sri Lanka after the century of Mushfiqur Rahim and nice work from the bowlers on day four at Zahur Ahmed Chowdhury Stadium in Chattogram on Wednesday.
On a day when Mushfiqur reached the 5000-run Test runs landmark as the first Bangladeshi batter, he made it more remarkable, registering his eighth century.
Thanks to his century, Bangladesh compiled 465 before being all out and gained a 68-run lead as Sri Lanka were bowled out for 397 in their first innings.
At a time when the Test looked heading for a draw, Bangladesh reduced Sri Lanka to 39-2 at stumps, raising a hope to force a result. Sri Lanka still needs 29 runs to level the score.
Tamim Iqbal was the highest scorer for the side with 133 while Mushfiqur Rahim hit 105. Liton Das struck 88 and opener Mahmudul Hasan Joy added 58, reports BSS.
Kasun Rajitha, the concussion sub of Vishwa Fernando, claimed his career-best 4-60 and his effort was complemented by fellow pacer Asitha Fernando, who had figures of 3-72.
Lasith Embuldaniya and Dhananjaya de Silva took the rest of the two wickets as Bangladesh's last batter Shoriful Islam had to retire hurt after feeling pain in his hand.
Mushfiqur's eighth century came off 270 balls when he glanced Asitha Fernando for a boundary through fine-leg. It was the slowest century amongst his eight Test tons, which was his first triple-digit figure since his double century against Zimbabwe in 2020.
Bangladesh however moved slowly once they began the day with 318-3 as the overnight batters Mushfiqur and Liton Das didn't show any sign of going after the bowlers.
Mushfiqur was 15 runs short when the day's game began and nudged pacer Asitha Fernando through fine leg for two runs to reach the feat in 149 innings of 81 test matches.
Bangladesh scored just 67 runs in the first session.
Sri Lanka got back with a bang in the second session, with Kasun Rajitha dealt a double strike in consecutive deliveries.
He forced Liton to nick a delivery to the wicket-keeper in the first ball of the post-lunch session, removing him for 88 off 189. Liton stroked 10 boundaries in his knock.
Liton's dismissal brought Tamim, who retired hurt on 133 on day three, into the crease. But he went for an expensive drive in the first ball he faced and saw his wicket shattered. The dismissal left him 19 runs short of reaching the 5000-run milestone.
Shakib then showed some intention to score quick runs but after reaching 25 off 44, he top-edged an Asitha Fernando delivery.
Mushfiqur Rahim went for a sweep but mistimed to give Embuldeniya the first wicket. He played 282 balls and hit four fours in his knock.
The lower order however couldn't resist much apart from Taijul who made 20.
Bangladesh's innings came to an end when Shoriful Islam was retired out after getting pain in his hand when he swung his bat widely to chase a delivery from Rajitha.
Sri Lanka openers Oshada Fernando and captain Dimuth Karunratne made a watchful start but Bangladesh got the breakthrough when Taijul Islam's direct caught the former well short of the crease for 19.
Left-arm spinner Taijul Islam then gave Bangladesh another moment to cherish, dismissing nightwatchman Lasith Embuldeniya (2) in the last over of the day.
Karunaratne was in the crease with 18 runs.