Sri Lankan captain Dimuth Karunaratne added to his overnight 75 and has scored a ton guiding his side to 300 run mark in the opening Test of the two match series in Kandy.
Sri Lanka were trailing Bangladesh by 312 runs at the end of day-3 after Bangladesh declared on 541.
However, Karunaratne and Dhananjaya de Silva are seeing off the Bangladeshi attack comfortably since the morning and the hosts have already scored 307 runs.
Karunaratne played 247 balls to get to his century.