Middle-order batsman Dinesh Chandimal was unbeaten on 86 off 210 deliveries with four boundaries while makeshift captain Rangana Herath was not out on 18. Bangladesh paceman Mustafizur Rahman picked up two wickets, conceding 32 runs, while off-spinner Mehedi Hasan Miraz also bagged as many.
The day started with a joint celebration prior to the start of the Tigers' 100th Test as BCB and SLC officials participated in the ceremony along with the players of the two sides.
Earlier, Herath won the toss and elected to bat first. The Lankans made one change from the Galle Test, bringing in all-rounder Dhananjaya de Silva in place of seamer Lahiru Kumara.
In contrast, Bangladesh drafted as many as four changes to their playing XI; opening batsman Imrul Kayes, uncapped Mosaddek Hossain, batter Sabbir Rahman and left-arm spinner Taijul Islam replacing top-order batsman Mominul Haque, all-rounder Mahmudullah, wicketkeeper-batsman Liton Kumar Das and fast bowler Taskin Ahmed respectively.
The 21-year old Mosaddek made his debut to become the Tigers' 86th Test player.
Liton, meanwhile, was injured during practice while Taskin was rested ahead of the upcoming ODI and T20I series'.
Bangladesh made a good start as opening bowlers Mustafizur and Subashish Roy started brilliantly. The visiting side started out with three consecutive maidens.
Mustafizur brought the first breakthrough in the ninth over. Opener Dimuth Karunaratne slashed at a wide delivery outside the off-stump and got a thick outside edge. Miraz took a magnificent catch at gully.
[caption id="attachment_52598" align="aligncenter" width="768"]
Miraz celebrates one of his two wickets AFP
Miraz then got the second wicket in the 12th over. The in-form Kusal Mendis, who scored 194 in the first Test, charged down the ground only to miss the line of the ball. Skipper Mushfiqur Rahim did the rest by stumping him out.
Bangladesh took two more wickets before lunch to and put the Lankans under further pressure.
Miraz dismissed Upul Tharanga (11) while Subashish trapped Asela Gunaratne (13) in front in the last over before lunch.
The first session well and truly belonged to Bangladesh as Sri Lanka headed to lunch on 70/4.
Chandimal and De Silva then formed a 66-run partnership for the fifth wicket to briefly steady the ship.
Sri Lanka slightly recovered in the post-lunch session as they only lost the wicket of Silva prior to the tea break.
But Bangladesh came back strongly after tea and took regular wickets as the Lankans eventually ended the day with three wickets intact.
The Tigers have taken 16 years, four months and six days to to play their 100th Test. This is the least time taken by any team to play 100 Tests; the previous lowest was Sri Lanka's 18 years, three months and 29 days.
238/7 in 83.1 overs (Chandimal 86*, Mustafizur 2/32, Miraz 2/58)
Dimuth Karunaratne, Upul Tharanga, Kusal Mendis, Dinesh Chandimal, Asela Gunaratne, Dhananjaya de Silva, Niroshan Dickwella (WK), Dilruwan Perera, Rangana Herath (C), Suranga Lakmal and Lakshan Sandakan
Tamim Iqbal, Soumya Sarkar, Imrul Kayes, Shakib al Hasan, Mushfiqur Rahim (C & WK), Sabbir Rahman, Mosaddek Hossain, Mehedi Hasan Miraz, Taijul Islam, Subashish Roy and Mustafizur Rahman