Kumar Sangakkara scored his 31st Test century to equal the Sri Lanka record held by Mahela Jayawardene, as the hosts put up 361 for three on the first day of the first Test against Bangladesh on Friday.
Sangakkara, playing his first competitive match since December after recovering from a finger injury, smashed the hapless Bangladesh attack to all parts before he departed for 142, caught by Jahurul Islam in the covers off Sohag Gazi.
He was dropped on 111 when Mohammad Ashraful put down a head high chance at mid-on off Gazi, who took the other two wickets to fall.
On a flat track, Bangladesh took the second new ball in the 81st over but bowled only four more before rain brought an early end to the day.
With Lahiru Thirimanne, who scored his third Test half-century, Sangakkara put on 124 for the third wicket.
Thirimanne was unbeaten on 74 at stumps with skipper Angelo Mathews on 25 not out.
Bangladesh's only success in the afternoon session was the wicket of Dimuth Karunaratne, who was trapped leg before on the back foot by Gazi for 41.
Karunaratne had earlier left the field when on 15 after he tried to pull a delivery from Shahadat Hossain and took a blow on his left elbow.
"Dimuth suffered from dizziness and double vision and was forced to retire," Sri Lanka manager Michael de Zoysa told reporters.
Karunaratne's opening partner Tillakaratne Dilshan had Sri Lanka off to a fast start after Mathews had won the toss for the home side on his test debut as captain.
Dilshan hit 54 before he came down the track to Gazi and offered a low catch to Mominul Haque at mid-off.
Sri Lanka (1st innings):
D. Karunaratne lbw b Gazi 41
T. Dilshan c Mominul b Gazi 54
K. Sangakkara c Jaharul b Gazi 142
L. Thirimanne not out 74
A Mathews not out 25
Extras: (b-4, lb-13, nb-5, w-3) 25
Total: (three wickets, 85.3 overs) 361
Fall of wickets: 1-114, 2-181, 3-305
To bat: D. Chandimal, A. Mathews, K. Vithanage, N. Kulasekara, R. Herath, S. Eranga, A. Mendis.
Bowling: Shahadat 13-1-60-0 (nb1), Abul 14.3-1-66-0 (w3,nb4), Gazi 31-3-101-3, Sunny 14-0-60-0, Ashraful 4-0-23-0, Mahmudullah 9-1-34-0.
Bangladesh: Mushfiqur Rahim (captain), Mahmudullah, Abul Hasan, Anamul Haque, Elias Sunny, Jahurul Islam, Mohammad Ashraful, Mominul Haq.