Niroshan Dickwella's defiant rearguard with Dinesh Chandimal frustrated Bangladesh and helped Sri Lanka eke out a draw in the opening test in Chattogram on Thursday.
Having conceded a 68-run first innings lead, Sri Lanka began the final day on 39-2 and looked in a spot at 161-6 at the Zahur Ahmed Chowdhury Stadium.
Dickwella and Chandimal forged a 99-run partnership for the unbroken seventh wicket to snuff out Bangladesh's hopes of a victory.
Dickwella made 61 not out while Chandimal was unbeaten on 39 as Sri Lanka reached 260-6 when a draw was agreed on.
Skipper Dimuth Karunaratne made 52, while Kusal Mendis (48) and Dhananjaya de Silva (33) also contributed with the bat for the tourists.
"If you take first innings, we could have done much better," Karunaratne said at the presentation ceremony.
"As a side we should have put up a big score, unfortunately we couldn't do that."
Sri Lanka's Angelo Mathews was adjudged man-of-the-match for his 199 in the first innings.
Left-arm spinner Taijul Islam claimed 4-82 but Bangladesh were denied the service of pace bowler Shoriful Islam who has been ruled out of the series with a hand injury sustained while batting.
"We missed Shoriful for sure, but we managed to cover for him," Bangladesh captain Mominul Haque said.
"Taijul knows his role...and he was excellent. We have to keep improving, we have to keep getting better."
Mushfiqur Rahim became the first batsman from Bangladesh to score 5000 test runs during his knock of 105.
The second and final Test begins in Mirpur on Monday.