Lunch Sri Lanka 648 for 8 dec (Karunaratne 244, de Silva 166) lead Bangladesh 541 for 7 by 107 runs
Sri Lanka were on the pursuit for quick runs on the fifth morning, moving to 648 for 8 and taking a 107-run lead over Bangladesh before declaring. The visitors started well in the morning session, taking four wickets in 13.1 overs for 50 runs, before Wanindu Hasaranga and Suranga Lakmal grew the lead with a quick 62-run stand.
Although Hasaranga fell for 41, he added crucial runs to Sri Lanka's push for an unlikely victory on the final day which had started with the wickets of their two overnight centurions.
Taksin Ahmed removed Dimuth Karunaratne and Dhananjaya de Silva in successive overs. Ahmed bowled de Silva off the inside edge, after the batter made 166 off 291 balls, with 22 fours. It ended the pair's 345-run fourth-wicket stand, the highest against Bangladesh for this wicket.
Next over, Karunaratne was caught at midwicket after mistiming a ball. His vigil lasted 437 balls, having struck 26 fours for his 244 runs. Ebadat Hossain had Pathum Nissanka caught behind for 12, before Niroshan Dickwella was run out for 31.
Hasaranga struck three fours in his 55-ball 43, while Lakmal was unbeaten on 23 off 31 balls, having struck the only six of the innings so far.
Sri Lanka had spent a wicketless fourth day to get near Bangladesh's 541 for 7. They batted 76 overs to add 283 runs. Karunaratne took a bit of time to get going, particularly in the nineties, but they batted more confidently for the rest of the day, until play was called off about an hour before the scheduled end.
Mohammad Isam is ESPNcricinfo's Bangladesh correspondent. @isam84