Dhaka (AFP) - Shakib Al Hasan and Ebadot Hossain claimed nine wickets between them to bowl out Sri Lanka for a formidable 506 runs at the second Test in Dhaka on Thursday.
Angelo Mathews was unbeaten for Sri Lanka on 145 after a 199-run stand with Dinesh Chandimal for the sixth wicket, with the tourists leading by 141 at the end of the first innings.
Chandimal hit 124 before becoming the first man dismissed on the fourth day, giving a catch to Tamim Iqbal at extra cover off Ebadot.
Bangladesh were unable to make any breakthrough in the first two sessions of the day but claimed the last five wickets in one hour after the tea break, conceding 41 runs.
Shakib finished with 5-96, his 19th five-wicket Test haul, while Ebadot claimed 4-148, with last man Asitha Fernando run out.
Mathews and Chandimal dominated Bangladesh bowlers for a large part of the day for their respective 13th and 12th Test centuries.
Mathews, who faced 342 balls and struck 12 fours and two sixes in his second century of the series, was given out caught-behind off Khaled Ahmed on 94 but survived on review.
He was given leg-before again off Mosaddek Hossain at 105 but the decision was reversed.
Chandimal enjoyed a similar lucky spell in the morning session after a caught-behind call on the fourth ball of Mominul Haque's first over was overturned.
Two balls later the right-hander narrowly survived a stumping chance on 44.
He later hit Ebadot for two successive fours before reaching his century with a single in the same over.
Chandimal hit 11 fours and a six in his innings 219-ball innings.