Dhananjaya de Silva scored 104 not out as Sri Lanka made a strong reply after dismissing Bangladesh for 513, including Mominul Haque's 176, on the second day of the opening Test on Thursday. De Silva's fourth century, his second in succession following his 119 (retired hurt) against India, helped Sri Lanka reach a comfortable 187-1 at the close of play.
Bangladesh sensed an opportunity to keep its domination over Sri Lanka when off-spinner Mehidy Hasan (1-45) had opener Dimuth Karunarate caught behind at first slip before the visitors scored.
But de Silva and opener Kusal Mendis, on 83, ensured Sri Lanka didn't lose a wicket for the rest of the day.
Mendis survived some close calls toward the end as Bangladesh left-arm spinner Taijul Islam challenged the umpire's decision twice in his consecutive two overs. But Mendis remained not out, forcing Bangladesh to lose its two reviews.
De Silva was flawless in his 127-ball innings in which he hit 15 boundaries.
Sri Lanka earlier made regular inroads on day two to wrap up Bangladesh's innings one hour after lunch, leaving captain Mahmudullah stranded on 83.
Mahmudullah held together the innings after Mominul added just one run to his overnight total to be out for 176. Mushfiqur Rahim was the other notable scorer with 92 while opener Tamim Iqbal made 52.
The captain formed a 58-run partnership with Sunzamul Islam on day two to rally the side before Rangana Herath inspired Sri Lanka get back into the game early in the morning session.
The veteran left-arm spinner struck twice to dismiss Mominul and Mosaddek Hossain in the first seven overs of the day.
Mehidy Hasan then counter-attacked to keep Sri Lanka frustrated, but was run out for 20 trying to score a third run, leaving Bangladesh 417-7.
Mahmudullah revived Bangladesh innings as it appeared, it wouldn't get past 500. He got support from Sunzamul Islam who scored 24.
Left-arm spinner Lakshan Sandakan broke through just after the lunch to remove Sunzamul and Herath got rid of Taijul (1).
But Mahmudullah remained solid and added a valuable 35 runs with the last batsman Mustafizur Rahman (8) to help the side move past 500.
Fast bowler Suranga Lakmal and Herath claimed three wickets apiece for Sri Lanka.
(With AP Inputs)