After winning the toss, Sri Lankan opener Tillakaratne Dilshan smashed 54 off 63 balls with nine fours before failing to clear mid-off. He compiled a 46-run stand with Dimuth Karunaratne for the opening wicket.
Dimuth Karunaratne was trapped leg before wicket for 41. He had to retire hurt in the morning after he was struck on the elbow by fast bowler Shahadat Hossain, but returned to resume the innings.
Kumar Sangakkara looked in serene touch from the moment he walked in and he also went past 1,000 Test runs against Bangladesh, the first batsman to achieve the milestone during his century knock.
The former captain took centre stage with his 31st Test hundred, equaling the Sri Lankan record held by colleague Mahela Jayawardene. He scored 142 runs off 226 balls before falling to Sohag Gazi.
Lahiru Thirimanne was unbeaten on 74 at stumps after compiling a 124-run stand for the third wicket with Sangakkara.
Sohag Gazi was the pick of the Bangladesh bowlers claiming all the three wickets to fall on day one with an economy of 3.25 rpo.