Galle: Tilakratne Dilshan (63*) and Sangakkara (49*) batted in a solid manner as the hosts finished Day 4 at 116 for 1, leading by 48 runs on day four of their first Test against Bangladesh at Galle on Monday.
Sri Lanka responded by wiping the lead off with utmost ease - though they lost the wicket of Karunaratne.
Earlier, Bangladesh recorded their highest Test total and captain Mushfiqur Rahim became their first batsman to score a double century in this format.
Resuming on 438 for four, Bangladesh were all out for 638 at the stroke of tea, a 68-run lead over Sri Lanka who had declared their first innings 570 for four on a Galle pitch where bat dominated the ball right from the start.
Mushfiqur, two runs away from the milestone at lunch, picked up two singles after resumption and celebrated his double hundred by punching the air and kissing the turf.
The diminutive batsman, however, could not add to the score and was trapped lbw by Nuwan Kulasekera in the next delivery he faced.
Mushfiqur's gritty 321-ball knock included 22 fours and a six during his 438-minute stay at the wicket.
After Mohammad Ashraful (190) departed adding just one run to his overnight score, Nasir Hossain (100) joined the run-feast and became the sixth centurion in the match completing his maiden Test hundred off 147 balls with nine fours.
He and Mushfiqur added 106 runs for the sixth wicket before Tillakaratne Dilshan removed Nasir but Bangladesh had taken the first innings lead in the test which is heading for a draw.
This was Bangladesh's highest Test total, eclipsing the 556 runs they had scored against West Indies in the first innings of the Mirpur Test in November last year.
Brief scores
Sri Lanka 570 for 4 dec and 116 for 1 (Sangakkara 49*, Dilshan 63*)
Bangladesh 638 (Rahim 200, Ashraful 190, Hossain 100)
Status Sri Lanka lead by 48 runs