The tourists justified their decision to bowl first on a rock-hard pitch at the Sher-e-Bangla stadium by grabbing four wickets with just 59 runs on the board.
Debutant opening batsman Shamsur Rahman smashed 33 of those runs with the help of seven boundaries, but failed to build on the fluent start.
Bangladesh lost three wickets in successive overs to slip from 35-0 to 40-3 as Eranga removed Tamim Iqbal and Rahman, and captain Angelo Mathews trapped Marshall Ayub leg-before.
Bangladesh left out Imrul Kayes, Mohammad Mahmudullah and Abdur Razzak from their initial squad, and went in with three quick bowlers in Rubel Hossain, Robiul Islam and Al-Amin Hossain.
More From This Section
Sri Lanka took the field without Test wicket-keeper Prasanna Jayawardene, who was forced to return home to Colombo due to his father's illness. Kumar Sangakkara is expected to don the gloves in his absence.
The tourists omitted unorthodox spinner Ajantha Mendis and preferred all-rounder Dilruwan Perera in the first of two Tests.