Soumya Sarkar hit 53 off 43 deliveries in the third session of the fourth day on Friday to keep Bangladesh's hopes of getting something from the Galle Test alive.
The Tigers were set a target of 457 by Sri Lanka, meaning the visitors have to make history to win the game. The record for the highest successful fourth innings chase belongs to West Indies, who scored 418 for 7 against Australia in 2003 to stun the world.
Not even the most optimistic Bangladesh supporter would say the Tigers are certain to win the match, but it is not impossible. Or one can say 'very much possible'.
The visitors were on 67 for no loss when rain stopped play for the day and with at least six batsmen capable of turning the game on a pitch that hardly favours the bowlers, Bangladesh can dream of this 'mission impossible'.
Soumya hit six fours and a six in his unbeaten knock, while fellow opener Tamim Iqbal gave him the perfect support, making 13 in 44 balls, and the calmness of the hard-hitting batsman deserves plaudits.
Earlier, Sri Lanka opener Upul Tharanga hammered a century as the hosts made 274 for 6 before declaring their second innings.
After rain had refrained the hosts from beginning their second innings late on the third day, openers Tharanga and Dimuth Karunaratne made a bright start on Friday.
Paceman Taskin Ahmed dealt the Lankans the first blow when he made Karunaratne (32) give a catch to Mahmudullah, with the score on 69.
Tharanga kept on going though, despite the fall of Kusal Mendis (19) and Asela Gunaratne (0) in quick succession.
The opener's 115 runs came courtesy of 11 fours and two sixes.
Dinesh Chandimal made an unbeaten fifty while Dilruwan Perera added 33 more as the visitors took a lead of 456 before the hosts captain Rangana Herath declared the innings.
Shakib Al Hasan and Mehedi Hasan Miraz grabbed two wickets each while Mustafizur Rahman and Taskin claimed one apiece.