Bangladesh fast bowler Subashis Roy and spinner Mehedi Hasan claimed a wicket each as Sri Lanka endured a nervy start to the first Test on Tuesday.
The hosts were on 61 for two at lunch on the opening day after Roy bowled Upul Tharanga for just four and Mehedi induced fellow opener Dimuth Karunaratne to chop onto his stumps for 30.
Kusal Mendis was on 19 and Dinesh Chandimal was one at the break, looking to steady the innings on what looked like a good batting pitch at the Galle International Stadium.
Sri Lanka captain Rangana Herath won the toss and opted to bat but the visitors struck in the sixth over when Roy beat Tharanga with a perfect inswinger to uproot his middle stump.
Roy then thought he had removed Mendis next ball when wicketkeeper Liton Das dived right to take a catch from an inside edge. A replay, however, showed that the bowler had overstepped, prompting the umpires to declare it a no ball.
Mendis and Karunaratne put on 45 runs for the second wicket before Bangladesh's 19-year old spinner Mehedi struck, bowling Karunaratne.
Bangladesh omitted left-arm spinner Taijul Islam from their side after selectors opted for a three-man pace attack, including the injury-plagued Mustafizur Rahman, who is playing his first Test since August 2015.
Liton was keeping wicket for the tourists after captain Mushfiqur Rahim handed over the gloves in order to concentrate on his batting.
The hosts decided to pick three spinners, meaning the all-rounder Dhananjaya de Silva misses out after playing in the last Test of Sri Lanka's recent tour of South Africa.
The second Test, which will be Bangladesh's 100th, will be held in Colombo from March 15-19.