Bangladesh picked up four wickets in the first session on the final day but Sri Lanka moved to 648 for 8 and took a lead of 107. Dimuth Karunaratne fell for 244 and Dhananjaya de Silva got 166 as the pair scored 345 for the fourth wicket to put their side on top.
Karunaratne started the day with a boundary on the second ball after resuming on 234. Taskin Ahmed struck in the fifth over of the day to remove de Silva and give Bangladesh an early lift in what has been a hard toil. The pacer then also accounted for the Sri Lanka captain as Karunaratne pulled a short ball to midwicket. There were quick wickets from there on as Pathum Nissanka fell for 12.
Niroshan Dickwella played some attractive shots during his 33-ball 31 but was run out in the 167th over. There was, however, no respite for Bangladesh. Wanindu Hasaranga and Suranga Lakmal stitched a brisk half-century stand and kept the visitors on the mat. Bangladesh made merry but Sri Lanka continued to pay them back in kind as they crossed the 173 overs batted by the visitors.
Brief scores: Bangladesh 541/7 decl. (Najmul Hossain Shanto 163, Mominul Haque 127; Vishwa Fernando 4-96) trail Sri Lanka 648/8 (Dimuth Karunaratne 244, Dhananjaya de Silva 166; Taskin Ahmed 3/112) by 107 runs.