Opening batter Pathum Nissanka continued his outstanding form by scoring over 150 runs for the second consecutive Test, as Sri Lanka tightened its grip on the second Test by securing a 151-run first-innings lead by lunch on day three.
Bangladesh, however, made a strong comeback by taking four wickets in the morning session to regain some control of the match. Responding to Bangladesh's first-innings total of 247 all out, Sri Lanka reached 401 for six at the lunch interval.
Sri Lanka began the third day on 290 for two, with Nissanka unbeaten on 146 alongside nightwatchman Prabath Jayasuriya.
Building on his superb 187-run innings in the first Test at Galle, Nissanka produced another remarkable knock, scoring 158 runs from 254 balls, including 19 boundaries, during an innings that lasted over six hours.
Colombo Test: Bangladesh post 247 after battling efforts
Bangladesh opted for the second new ball after 80 overs on Friday, which immediately yielded results. Nissanka, while attempting a defensive shot against left-arm spinner Taijul Islam, was caught by Anamul Haque at short cover.
Taijul further dented Sri Lanka’s innings by removing captain Dhananjaya de Silva for seven, trapping him lbw with a straight delivery that skidded on.
Jayasuriya, who successfully shielded the top-order overnight, was dismissed for 10 after facing 39 deliveries over a stay of 75 minutes. He edged fast bowler Nahid Rana to Mehidy Hasan Miraz at slip.
Kamindu Mendis and Kusal Mendis put together a 49-run stand to stabilize the innings temporarily. However, offspinner Nayeem Hasan broke the partnership by bowling Kamindu Mendis for 33.
At lunch, Kusal Mendis remained unbeaten on 42, with debutant all-rounder Sonal Dinusha not out on eight.
Among the Bangladesh bowlers, Taijul Islam was the most successful, claiming three wickets for 114 runs, while Nayeem Hasan picked up two wickets.
The first Test in Galle ended in a draw, setting the stage for a decisive result in this second match.