Najmul Shanto and captain Mominul Haque put on a record stand of 242 as Bangladesh reached an imposing 474-4 on Day 2 of the opening Test against Sri Lanka on Thursday.
Shanto took his maiden Test century to 163 while Mominul weighed in with 127 as they shared Bangladesh's biggest third-wicket partnership in Tests.
Both were dismissed but they were Sri Lanka's only successes as Mushfiqur Rahim, 43, and wicketkeeper-batsman Liton Das, 25, added 50 before bad light chewed up the last 90 minutes of the day's play to force an early close in Pallekele.
The tourists resumed the day on 302-2 with Shanto well set on 126 and Monimul on 64. Neither found the going easy on another stiflingly hot day, with the run rate grinding along against some tight Sri Lankan bowling.
The left-handed Shanto, who was dropped on 28 on Wednesday, batted for close to nine hours, hitting 17 fours and one six.
After a wicketless first session, Shanto finally fell to Lahiru Kumara after lunch, giving away a return catch to the pace bowler.
It marked the end of a marathon stand which also equalled the best third-wicket effort at the venue set by the Pakistan pair of Shan Masood and Younis Khan in 2015.
Mominul reached his 11th Test hundred – his first outside Bangladesh – by cutting a wide delivery from Dhananjaya de Silva for four.
De Silva finally removed the captain who edged to Lahiru Thirimanne at first slip.
Mushfiqur and Liton then stood firm to put an unbeaten stand of 50 and played some cheeky shots to frustrate the Sri Lankan bowlers.
Mushfiqur hit a scoop shot over the wicketkeeper's head off Dimuth Karunaratne's medium-pace bowling.
The final session was interrupted briefly for rain and then called off again due to bad light after just 7.5 overs. With 25 overs lost in the day, play will resume 15 minutes early on day three.