Riding on the back of Chandimal and Dickwella's resistance, Sri Lanka managed to draw the series-opening test on Thursday.
Sri Lanka was 161-6 in its second innings about halfway through the middle session, leading by 93 runs, and saved by Dinesh Chandimal, 39 not out, and Niroshan Dickwella, 61 not out.
Sri Lanka was 260-6 when play was mutually ended 73 overs into the final day at Zahur Ahmed Chowdhury Stadium. The visitors posted 397 before Bangladesh replied with 465, taking a 68-run first-innings lead.
The second and last test starts on Monday in Dhaka. Left-arm spinner Taijul Islam raised Bangladesh's hope of winning the test with two quick wickets in the first session.
He took 4-82 and fashioned a run out, but Bangladesh's attack missed leading pacer Shoriful Islam, whose right hand was injured while batting late Wednesday.
He didn't bowl and has been ruled out for four-five weeks. Sri Lanka made a rapid start after resuming the day at 39-2, with Kusal Mendis unleashing a powerful attack with two boundaries in the first over from Taijul.
Mendis scored 48 from 43 deliveries, hitting eight boundaries and a six, before he was dismissed by Taijul to a ball that spun past him and clipped off stump. Taijul also tormented Angelo Mathews, who scored 199 in the first innings but was out for a 15-ball duck when he charged the bowler and gave up a return catch.
Dhananjaya de Silva joined captain Dimuth Karunaratne to resist a pumped-up Bangladeshi bowling attack, but Karunaratne's serenity paid off as he reached his 28th test fifty guiding a Shakib Al Hasan delivery for three runs in the third man region. Taijul grabbed the fifth wicket of Karunaratne for 52 but Dhananjaya and Chandimal ate up some valuable time, batting with utmost patience, which gradually dashed Bangladesh's hope to force a result.
Dhananjaya was the sixth wicket down, to Shakib for 33 off 60. But Chandimal and Dickwella remained rock solid with the later raising his 20th half-century from 83 balls, pushing a Taijul delivery to cover for a single.
Dickwella has gone 48 tests without a century but he successfully thwarted Bangladesh from an unlikely victory on Thursday.