Litton Das missed out on a well-deserved hundred but Mushfiqur Rahim notched up his eighth Test hundred, his first in more than two years. Bangladesh lost three wickets in the afternoon session of day four but most importantly they got a first-innings lead of 39 runs.
After a barren first session, Sri Lanka could not have asked for a better start to the second session. Kasun Rajitha, who on day three replaced concussed Vishwa Fernando, got two wickets in consecutive deliveries right at the beginning of the afternoon session. Litton Das (88), who was nearing a century, got out first ball. Tamim Iqbal (133) returned to bat but was cleaned up by a peach of a delivery from Rajitha.
Shakib Al Hasan added 36 with Mushfiqur before getting out Asitha Fernando on 24. Towards the end of the second session, Mushfiqur clipped one off his pads and collected a boundary to rack up his hundred. Bangladesh scored 51 runs in the second session but lost three wickets.
Earlier, the start of play was delayed due to wet outfield. Bangladesh started the day with an overnight score of 318 for three with Litton unbeaten on 54 and Mushfiqur on 53. Litton struck a boundary off Ramesh Mendis in the second delivery of the day. But the duo was happy to just grind it out as they hit just two more boundaries in the morning session.
In the first session, Mushfiqur became the first Bangladeshi batter to score 5000 Test runs. He was unbeaten on 85 and Litton on 88. The first session yielded 67 runs and Bangladesh did not lose a wicket.