Skipper Dhananjaya de Silva and Kamindu Mendis hit centuries as Sri Lanka recovered from early trouble to end day one on top in the opening cricket test on March 22.
Both de Silva and Kamindu scored 102 to steer Sri Lanka to 280 all out after being reduced to 57-5. The pacers then helped the side consolidate its position by reducing Bangladesh to 32-3 at stumps.
Fast bowlers Khaled Ahmed and Nahid Rana, who made his debut, claimed three wickets each for Bangladesh on a 13-wicket day.
Khaled (3-72) ripped through the top order before Rana, whose 3-87 included the wickets of both de Silva and Kamindu, caused a middle order havoc.
Khaled struck in the second over after Bangladesh captain Najmul Hossain Shanto won the toss and put Sri Lanka in to bat. He had Nishan Madushka caught by Mehidy Hasan at third slip with a fuller, swinging delivery.
Kusal Mendis and Dimuth Karunaratne appeared to steady the innings, with Mendis reaching 4,000 career test runs when he hit pace bowler Shoriful Islam for a boundary through fine-leg. But Khaled undid him soon after with extra bounce, with Mendis (16) pulling directly to gully where Zakir Hasan completed an easy catch.
Four balls later, Khaled bowled Karunarate for 17 with raw pace to leave Sri Lanka at 41-3 in 12th over.
The situation worsened for Sri Lanka when Angelo Mathews was run out for 5 and Shoriful Islam dismissed Dinesh Chandimal (9).
Kamindu and de Silva then denied Bangladesh a single wicket in the second session and combined for a 202-run for the sixth wicket. Kamindu raised his maiden century off 126 balls, driving Rana past backward point for a boundary as Sri Lanka appeared to take the complete control.
However, Rana broke through in the next delivery, making Kamindu his maiden test wicket when the batter edged a delivery behind.
Kamindu’s knock included 11 fours and three sixes.
In the same over, de Silva completed his 12th century off 127 balls when he flicked Rana for a boundary past square leg. But Rana dismissed him with a short delivery in his next over.
Sri Lanka’s lower order could manage only 16 runs after de Silva’s dismissal.
But the Bangladeshi batters squandered the chance to establish control.
Pacer Vishwa Fernando, who ended with 2-9, dealt a double strike, dismissing Zakir Hasan (9) and Bangladesh skipper Najmul Hossain Shanto (5) in consecutive overs. And when his new ball partner Kasun Rajitha (1-20) had Mominul Haque caught by Kamindu Mendis, Sri Lanka looked to be on top.