Sri Lanka kept its nose ahead in the second and final cricket Test against Bangladesh by posting a massive 531 on Day 2 Sunday, thanks to six batters getting past half-century marks.
In response, Bangladesh reached 55-1 at stumps, still trailing by 476 runs.
None of the batters were able to reach the three-figure mark but Sri Lanka ensured it didn't lose wickets in succession.
Kamindu Mendis, who scored twin centuries in the first test that Sri Lanka won by a crushing 328 runs, was stranded on 92 as the 10th wicket fell to a run-out dismissal.
Kusal Mendis made a team-high 93 while Dimuth Karunaratne scored 86. Captain Dhananjaya de Silva, who also scored centuries in both innings of the first test, added 70.
Dinesh Chandimal contributed 59 and opener Nishan Madushka made 57.
"Our players, most of them, got out to good balls," Kamindu said.
"It doesn't matter whether you get a hundred or not. We still reached 500 runs." Shakib Al Hasan, playing his first Test in more than a year, took 3-110 to gain a measure of control and stem some of the run flow.
Resuming at 314-4, Sri Lanka played in aggressive fashion with de Silva taking the anchor role.
Dinesh Chandimal, who reached scores of just 9 and 0 in the first test, also found some form and frustrated Bangladesh further.
Chandimal raised his 26th test fifty off 85 balls, hitting pacer Hasan Mahmud for a boundary through mid-off.
But he was he was undone by Shakib a short time later and was dismissed for 59 off 104 balls, ending an 86-run partnership with de Silva.
De Silva also struck a boundary off left-arm spinner Taijul Islam to bring up his 14th fifty off 70 balls and appeared to be heading toward his third straight century after scoring 102 and 108 in the first test.
Fast bowler Syed Khaled Ahmed (1-71) got him leg-before with a delivery that kept low after de Silva hit six fours and two sixes for his well-crafted knock.
Kamindu hit three consecutive boundaries after his arrival at the crease to get off the mark smoothly but Bangladesh bowlers led by Shakib maintained a tight line and length to slow down the tourists.
Kamindu raised his fourth straight fifty in the first four innings of his career off 99 balls, pushing offspinner Mehidy Hasan for a single through cover.
Shakib was rewarded for his tight length when he got rid of Prabath Jayasuirya for 28 to end the 65-run partnership.
Despite running out of partners, Kamindu paced the innings further to take the side past 500.
He struck Taijul for two sixes in an over to reach 90 and appeared set for his third century in a row.
However, Asitha Fernando was run out, leaving Kamindu stranded after hitting seven fours and two sixes in his knock.
Mahmud, who took two wickets on Day 1 on his test debut, couldn't add to his tally Sunday and finished with figures of 2-92.
"We are still thinking about winning the game. It might seem a bit bizarre considering we are 480 runs behind," Bangladesh batting coach David Hemp said.
"The key bit will be to negotiate tomorrow. First things first, we have to make sure we bat well for three sessions tomorrow."
Bangladesh openers Mahmudul Hasan and Zakir Hasan then had to deal with a probing spell of fast bowling from Lahiru Kumara who moved the new ball admirably.
Kumara (1-4) got his reward when he bowled Mahmudul out for 21, ending his 47-run partnership with Zakir.
Zakir struck five fours to remain not out on 28 with nightwatchman Taijul Islam yet to score.