Kumar Sangakkara scored his 31st Test century as Sri Lanka's batsmen dominated the opening day of the series against Bangladesh in Galle.
Sangakkara's 142 helped Sri Lanka reach 361-3 at stumps, Lahiru Thirimanne finishing on 74 not out.
Angelo Mathews made a good start in his first Test as Sri Lanka captain, calling correctly at the toss and giving his batsmen first use.
Opener Dimuth Karunaratne was forced to retire hurt in the ninth over after being hit on the elbow by a Shahadat Hossain delivery.
That brought Sangakkara out to join Tillakaratne Dilshan and the veteran pair put on 68 in quick time before off-spinner Sohag Gazi made Bangladesh's first breakthrough when a charging Dilshan was caught by Mominul Haque at mid-off for a 63-ball 54.
Karunaratne, who had been suffering from dizziness and double vision, returned to the middle and saw Sri Lanka through to lunch on 132-1 alongside Sangakkara.
Gazi won an lbw verdict against Karunaratne but that was the only wicket to go down in the afternoon session as Sangakkara found another ally in Thirimanne.
Sangakkara went to his hundred from 153 balls with 12 fours and a six, a landmark that moved the 35-year-old left-hander level with injured colleague Mahela Jayawardene as Sri Lanka's most prolific century-makers in Tests.
He had been at the crease for almost four hours when Gazi (3-101) struck for a third time, Sangakkara's drive being caught at the second attempt by Jahurul Islam in the covers to end a third-wicket stand of 124.
Thirimanne (74no) and Mathews (25no) guided Sri Lanka through to the close, which came four overs early due to rain, without further loss.
The two-match series concludes at the RPS in Colombo from March 16-20.