Bangladesh were 55-1 in their first innings at stumps on the second day of the second Test after bowling Sri Lanka out for 531 in Chittagong on Sunday.
Opener Zakir Hasan was unbeaten on 28 alongside nightwatchman Taijul Islam on 0 after Lahiru Kumara bowled Mahmudul Hasan Joy for 21.
Sri Lanka made a record 531 runs in their first innings, which was the highest score in Test cricket without any batsman scoring a century.
Meanwhile, Kamindu Mendis narrowly missed the feat of a third Test century in consecutive innings.
The left-handed batter remained not out on 92 as last man Asitha Fernando was run out for a duck, leaving him eight short of what would have made him only the fourth Sri Lankan to score three centuries in consecutive innings.
Mendis, who scored 102 and 164 in the first Test, struck Taijul Islam for two sixes in an over to come close to the feat.
But Fernando fell short of his crease in a desperate attempt to change the strike.
Apart from Mendis, who was playing only his third Test, Dhananjaya de Silva (70), Dinesh Chandimal (59), Kusal Mendis (93), Dimuth Karunaratne (86) and Nishan Madhushka (57) also scored a fifty each.
Follow us on our Official WhatsApp channel
Shakib Al Hasan finished with 3-110 as Sri Lanka made Bangladesh toil for nearly two days after electing to bat first. Sri Lanka resumed the second day with 314-4.
De Silva, like Mendis, who also scored 102 and 108 in the first Test, raised the prospect of scoring 300 on the trot before he was dismissed in the post-lunch session.
Chandimal was the only batsman to be dismissed in the first session, edging Shakib behind the stumps after making 59 runs.
Khaled Ahmed trapped De Silva leg before in the first over after the lunch break.
Khaled could have taken another wicket in his next if Prabath Jayasuriya was not comically dropped by three slip fielders on six.
Mendis was declared caught behind on 35 off Mehidy Hasan Miraz, but the decision was reversed after review.
Shakib hit Jayasuriya plumb in front to end his 65-run seventh wicket stand with Mendis, who was dropped by Hasan Mahmud on 60 at deep square leg.
READ: Raphinha helps Barcelona edge Las Palmas to close gap with leaders Real Madrid