Kusal Mendis and Dhananjaya de Silva made their highest Test scores on a gruelling day three for Bangladesh as Sri Lanka took charge of the series opener in Chittagong.
The Sri Lanka selectors dropped Kusal for the series against India late last year, but he made a magnificent 196 and Dhananjaya a superb 173 on a punishing day in the field for the Tigers.
Kusal fell in the 190s for the second time in his fledgling career after he and Dhananjaya - who became the joint-fastest Sri Lanka batsman to 1,000 Test runs - had put on 308 for the second wicket, the tourists' eighth-best partnership in Tests.
Roshen Silva (82 not out) and captain Dinesh Chandimal (37no) also cashed in on a flat track to take Sri Lanka on to 504-3 in reply to Bangladesh's 513 all out on Friday.
Dhananjaya joined Kusal at the crease on day two with Sri Lanka 0-1 following Dimuth Karunaratne's dismissal and they continued to make the Bangladesh bowlers toil in the morning session on the third day after resuming on 187-1.
Kusal brought up his fourth Test hundred in a wicketless opening session, Sri Lanka moving on to 295-1 at lunch with no sign of spin or movement off the seam.
The Bangladesh attack continued to toil without reward, Dhananjaya showing his repertoire of strokes as he coasted past 150 but finally fell after top-edging Mustafizur Rahman and wicketkeeper Liton Das took the catch.
Dhananjaya struck 21 fours and a six in his marathon knock, while Kusal was increasingly positive after a scratchy start to his innings, runs flowing through the leg side as he milked the spinners.
Kusal made 194 against the Tigers last year and was on his way again when on the verge of a double-hundred, Mushfiqur Rahim taking a fine catch running back from midwicket when the opener tried to dispatch Taijul Islam to the boundary, ending a stand of 107 with Roshin.
Liton failed to stump Roshen for one when he missed a Mehidy Hasan delivery down the leg side and he was only 13 shy of a maiden Test hundred at stumps, Chandimal also seeing it through to the close as his side look set to take a healthy first-innings lead.
Scores in the match going into Saturday's fourth day are: Bangladesh 513; Sri Lanka 504-3.
Get the latest local and international news straight to your mobile phone for free: