Colombo: Bangladesh secured their maiden Test win against Sri Lanka, and their second against a major Test-playing nation in the last five months, with an eventful four-wicket victory on the final day of the second Test at the P Sara Oval on Sunday.
Playing their 100th Test overall, the touring side chased down their target of 191 in the final session to level the two-match series at 1-1.
Bangladesh had lost 15 Tests and drawn two of their previous 17 matches in the five-day format against Sri Lanka and Sunday's victory is undoubtedly their best away from home after they beat England in Dhaka last October.
The South Asian nation's other Test successes have come against West Indies, whose glory days are long past and are no longer considered to be among Test cricket's major players, and Zimbabwe.
It was a great comeback for Bangladesh after they lost the opening Test at Galle by 259 runs to a side that blanked Australia 3-0 at home last year.
"The way we are improving, down the line we will win some games," Bangladesh all-rounder Shakib Al Hasan, who was named player of the series, said.
"We are having a very good time at home but it's time for us to play outside (of Bangladesh) and play well. It's a very good sign for our cricket that we are improving as a team."
Experienced opening batsman Tamim Iqbal anchored the chase with a stroke-filled 82 after home captain Rangana Herath had picked up two wickets in successive deliveries to reduce Bangladesh to 22-2.
Tamim, who hit seven fours and a six, added 109 for the third wicket with Sabbir Rahman before the latter fell for 41.
"I think this win started when we lost the match in Galle," man of the match Tamim said. "We had a long chat with the coach, and the players stepped up."
Shakib, who set up the win with his 116 in the first innings, fell for 15 with Bangladesh still 29 runs away from a famous victory and there were more nervous moments awaiting the touring side.
Mushfiqur Rahim was given out leg before but the Bangladesh captain managed to overturn the umpire's decision on review with replays confirming the delivery was missing the stumps.
Herath, celebrating his 39th birthday on Sunday, could not hold on to a return catch offered by Mosaddek Hossain, but later dismissed him for 13 with Bangladesh needing two for the win.
"We are bitterly disappointed but it's part of the game," Herath said. "I think every single area, bowling, batting and fielding will need to improve.
"But this is not the time to talk about it. We will have a discussion later with the coaches."
Mushfiqur remained unbeaten on 22 while Mehedi Hasan was not out on two after hitting the winning runs that sparked wild celebrations from the visiting team..
Sri Lanka 1st innings: 338
(D. Chandimal 138)
Bangladesh 1st innings: 467
(S. Al Hasan 116, M. Hossain 75, S. Sarkar 61, M. Rahim 52; R. Herath 4-82, L. Sandakan 4-140)
Sri Lanka 2nd innings
D. Karunaratne c Sarkar b Al Hasan 126
U. Tharanga b M. Hasan 26
K. Mendis c Rahim b M. Rahman 36
D. Chandimal c Rahim b M. Rahman 5
A. Gunaratne lbw Al Hasan 7
D. de Silva c Rahim b M. Rahman 0
N. Dickwella c Rahim b Al Hasan 5
D. Perera run out 50
R. Herath lbw T. Islam 9
S. Lakmal c M. Hossain b Al Hasan 42
L. Sandakan (not out) 0
Extras (b-4, lb-8, w-1) 13
Total (all out, 113.2 overs) 319
Fall of wickets: 1-57, 2-143, 3-165, 4-176, 5-177, 6-190, 7-217, 8-238, 9-318.
Bowling: S. Roy 16-4-36-0 (w-1); M. Hasan 24-0-71-1; M. Rahman 23-3-78-3; S. Al Hasan 36.2-9-74-4; M. Hossain 3-0-10-0; T. Islam 11-1-38-1.
Bangladesh 2nd innings
T. Iqbal c Chandimal b D. Perera 82
S. Sarkar c Tharanga b Herath 10
I. Kayes c Gunaratne b Herath 0
S. Rahman lbw D. Perera 41
S. Al Hasan b D. Perera 15
M. Rahim (not out) 22
M. Hossain c Dickwella b Herath 13
M. Hasan (not out) 2
Extras (b-4, lb-1, w-1) 6
Total (6 wkts, 57.5 overs) 191
Fall of wickets: 1-22, 2-22, 3-131, 4-143, 5-162, 6-189.
Did not bat: T. Islam, S. Roy, M. Rahman
Bowling: D. Perera 22-1-59-3; R. Herath 24.5-2-75-3; D. de Silva 2-0-7-0; L. Sandakan 6-1-34-0; S. Lakmal 2-0-7-0 (w-1); A. Gunaratne 1-0-4-0.
Umpires: Aleem Dar, Sundaram Ravi
TV umpire: Marais Erasmus
Match referee: Andy Pycroft