Opener Kaushal Silva lived a charmed life on his way to a maiden Test century as Sri Lanka put Bangladesh to the sword with a big first-innings total in the opening Test in Dhaka.
At the close of play on the second day Sri Lanka had reached 375 for five, a lead of 143 runs.
Bangladesh first innings 232
Sri Lanka second innings
F Karunaratne c Islam b Hasan 53
J Silva lbw b Hasan 139
K Sangakkara c N Hossain b A Hossain 75
D Jayawardene not out 42
L Chandimal b Hasan 40
R Lakmal c Hossain b Gazi 0
Total: (5 wickets; 108.2 overs) 375
Fall of wickets: 1-118 2-273 3-302 4-374 5-375
Mahela Jayawardene was unbeaten on 42 after nightwatchman Suranga Lakmal fell for a duck in the last over of the day to off-spinner Sohag Gazi.
Bangladesh paceman Al-Amin was twice unlucky in the morning session when wicketkeeper Mushfiqur Rahim and Shamsur Rehman dropped Silva (139) in quick succession.
In between those two letoffs the opener also edged the same bowler to captain Mushfiqur and received another life because Al-Amin's foot had knocked the bail down at the bowler's end during his delivery stride, prompting a no-ball.
Silva, on his seventh Test appearance, put on 118 for the first wicket with Dimuth Karunaratne (53) who fell to Shakib Al Hasan's left-arm spin.
Sri Lanka did not lose a wicket in the afternoon session as Silva and Kumar Sangakkara (75) pummelled the bowling during a 155-run stand.
Right-hander Silva, 27, who twice went close to his first Test ton during the recent drawn series against Pakistan, had some nervous moments on 98 before he pulled Shakib to the square leg boundary to reach three figures.
Al-Amin was finally rewarded in the final session when he bagged the prize wicket of Sangakkara.
Silva was dropped again on 129 by Mushfiqur off Shakib before the opener was out leg before in the same over after hitting a four and a six off consecutive deliveries.
Jayawardene and Dinesh Chandimal (40) piled on the agony for Bangladesh with a brisk fourth-wicket partnership of 72 before the latter became Shakib's third victim in the penultimate over.
The match is the first in a two-Test series.