Bangladesh, looking for a series-levelling win after losing the first Test by an innings and 248 runs last week, appeared set for a long haul after Sri Lanka won the toss and elected to bat.
But they struck in quick succession just after the drinks break to share the honours in the morning session.
Openers Dimuth Karunaratne and Kaushal Silva managed just eight runs in the first eight overs and plodded to 30-0 after 15 when Bangladesh broke through.
Left-hander Karunaratne settled in to score 31 when he slashed at a wide ball from Al-Amin and was caught at point to make Sri Lanka 49-2.
More From This Section
Kumar Sangakkara (15 not out) and Mahela Jayawardene (10 not out) were together at the crease when lunch was called.
Sri Lanka went into the Test without frontline left-arm spinner Rangana Herath and seamer Shaminda Eranga, who were both ordered to return home due to injuries.
They were replaced by off-spinner Ajantha Mendis and paceman Nuwan Pradeep, the only changes from the side that won the first Test.