Shakib Al Hasan struck his fifth hundred and combined in a seventh-wicket stand of 131 with debutant Mosaddek Hossain to give Bangladesh a handy first-innings lead on the third day of the second and final test against Sri Lanka on Friday.
Playing their 100th test, Bangladesh, were bowled out for 467 in the final session, leading Sri Lanka by 129 runs, after the 21-year-old Mosaddek became the final wicket to fall for 75.
Sri Lanka reached 54 without loss in their second innings at stumps, reducing the deficit to 75, with openers Dimuth Karunaratne and Upul Tharanga both unbeaten on 25 each.
After resuming on 214-5, all-rounder Shakib, who made 116, and captain Mushfiqur Rahim steadied the innings for Bangladesh with a stand of 92 before the latter was bowled by paceman Suranga Lakmal with the new ball for 52.
That brought Shakib and Mosaddek together and the duo stubbed out Sri Lanka hopes of getting a lead with their resolute partnership.
After Shakib fell to Lakshan Sandakan, Mosaddek and Mehedi Hasan Miraz continued to frustrate the hosts, who lead the two-match series 1-0, with another stand of 33.
Sri Lanka captain and spinner Rangana Herath, 38, then restricted the lead with two wickets in as many balls to finish with 4-82, which also saw the left-arm spinner bring up 1,000 first-class wickets.
Sandakan picked up four wickets for 140.