Angelo Mathews moved to within seven runs of what would be his second hundred in the series, and Dinesh Chandimal worked his way to a 22nd Test fifty.Between them, they batted out an extended first session - play began half an hour early to make up for the session lost to rain on Wednesday - and moved Sri Lanka into a slim lead.
With five wickets still remaining, the visitors can now dream of a sizeable first-innings lead, and a victory push.The Mirpur surface, however, was far from unplayable still.
It had lost the zip that had envenomed the quicks earlier in the game, but was yet to take the kind of fast turn that might truly make the spinners a menace.In their first wicketless session of the game, Bangladesh's bowlers kept the rate down, with Shakib Al Hasan and Taijul Islam delivering especially tight spells.
But the most they could do was raise a couple of strong appeals, as there were no clear-cut wicket chances.Taijul, who has now bowled 43 overs in the innings, does not have a breakthrough yet.
Mathews and Chandimal batted largely as they had on the third evening: watchfully.There were a couple of edges past the slips off the faster bowlers early in the morning, but otherwise there were plenty of leaves and defensive shots.
Against the spinners, both batters took calculated risks.Mathews was the first to hit a six on Thursday, opening up his shoulders to launch Taijul way over his head in Taijul's second over of the day.
Chandimal soon picked up a six of his own, coming down the track to wallop Shakib against the spin over wide long-on.Largely, the batters' progress was steady - if sedate - though there was one close call for Chandimal.
Mominul Haque spun a wide-pitched delivery away from him just after drinks, and drew the batter into a prod.When the ball hit the wicketkeeper's gloves, Bangladesh launched a raucous appeal, and the umpire gave Chandimal out.
Chandimal reviewed immediately though, and was vindicated; he hadn't nicked that ball.He was on 43 then.
From there, he approached his half century conscientiously, and got there only in the last few overs of the session.Aside from that six off Taijul, Mathews only ventured one further deliberate boundary in the morning, having also edged Ebadot Hossain through the cordon earlier.
He made only 35 runs off the 93 balls he faced in the session.