Tamim Iqbal scored a brilliant knock of 82 while his fellow batsmen were able to hold the nerve as Bangladesh successfully chased down 191 to clinch a win in their 100th Test on Sunday.
The visitors went numb for a while when Sri Lanka skipper Rangana Herath struck in consecutive balls to remove Soumya Sarkar and Imrul Kayes with the score on 22, but Tamim and Sabbir Rahman then made 109 runs in the third wicket to set the win on the last day of the match.
Tamim was unlucky to miss out on a century when he gave a catch to Dinesh Chandimal off a Dilruwan Perera delivery, the left-handed opener hitting seven fours and a six in his match-winning innings. He was adjudged the player of the match for his fifty, the 22nd of his career.
Perera also dismissed Sabbir (41) and Shakib Al Hasan (15) in short intervals, yet there were not enough to contain a Bangladesh batting that featured the likes of Mushfiqur Rahim and Mosaddek Hossain at number six and seven respectively.
With tension running high, Mushfiq (22) and Mosaddek (13) made sure the game goes to the Tigers as fans across the globe went wild in jubilation. The latter was caught just before the win was sealed and it was Mehedi Hasan miraz who hit the winning runs.
Earlier in the morning, Suranga Lakmal and Dilruwan Perera showed grit to defy Bangladesh bowlers as Sri Lanka set the Tigers a target of 191.
The duo added 50 runs on Sunday morning, taking their ninth wicket partnership to 80, but a misunderstanding between them saw the stand broken with Perera falling victim to a run out.
In the next over, Lakmal gave a catch to Mosaddek Hossain in his attempt to blast a Shakib Al Hasan delivery.
Perera hit his second half century in as many games, making exactly 50 while Lakmal had added 42.
The Bangladesh win meant the Test series is drawn 1-1 and the Tigers will be really charged up ahead of the ODI and T20 series.
Shakib was adjudged the Player of the Series for his nine wickets and 162 runs over the two Tests.