Kusal Mendis and Dhananjaya de Silva piled on the runs to put Sri Lanka in a comfortable position on the third day of the first Test against Bangladesh in Chittagong on Friday.
Birthday boy Mendis just missed out on a double century, hitting an impressive 196, while de Silva added 173 as Sri Lanka reached 504-3 at stumps to trail Bangladesh`s first innings total by just nine runs.
Roshen Silva was unbeaten on 87 alongside skipper Dinesh Chandimal, 37 not out, when stumps were drawn at the Zahur Ahmed Chowdhury Stadium.
Left-arm spinner Taijul Islam gave Bangladesh a rare occasion for joy on an arduous day when he removed Mendis just before the tea break.
Pace bowler Mustafizur Rahman earlier broke Mendis`s 308-run second wicket stand with de Silva, who added 69 runs to his overnight 104.
De Silva and Mendis dominated the Bangladesh bowlers for nearly two sessions after Sri Lanka resumed their innings on 187-1.
Bangladesh had to wait for the second new ball to get their first success as Mustafizur got a leading edge from de Silva for wicketkeeper Liton Das to complete a high catch.
De Silva faced 229 balls and hit 21 fours along with a six in his fourth Test century and the second in as many Tests.
Mendis, who faced 327 balls for his career-best innings as he turned 23, added another 107 runs with Roshen Silva for the third wicket before he gave a catch to Mushfiqur Rahim at midwicket.
He survived a run-out when he had a mix-up with Roshen in the middle of the pitch after crossing his 150-run mark.
Mehedi Hasan made an awkward throw from extra cover after Mendis drove Taijul, allowing him to return to the pitch before wicketkeeper Liton could break the stumps.
Bangladesh were also unlucky in the morning as de Silva survived a strong lbw appeal on 119 off Taijul when the ball hit him on his toe before going to the slips.
With the hosts having already used both their reviews, they had no choice but to accept the decision of the on-field umpire.
Mendis hit left-arm spinner Sunzamul Islam for a boundary to bring his fourth Test hundred off 200 balls.
De Silva reached his 1,000 runs in Tests on 154, joining Roy Dias as the quickest Sri Lankan to achieve the feat in his 23rd innings.