Bangladesh 147 for 7 (Sabbir 80, Chameera 3-30) beat Sri Lanka 124 for 8 (Chandimal 37, Al-Amin 3-34) by 23 runs
Scorecard and ball-by-ball details
After they ran into early trouble, Sabbir Rahman scored more than half of Bangladesh's runs. Their bowlers followed it up by squeezing Sri Lanka in the 148 chase, eventually picking up their second win in the Asia Cup by 23 runs.
A packed crowd at the Shere Bangla National Stadium was kept on the edge for three and a half hours, mainly by Man-of-the-Match Sabbir's superb and clean hitting that gave him ten fours and three sixes. The home side's tight bowling and rapid fielding across the outfield stood out too.
The loss would, however, ring loud alarm bells for Sri Lanka, especially after how they missed out on taking advantage of the home side slipping to 26 for 3, and later being unable to hit any boundaries for four and seven-over clumps. This was the first time Sri Lanka were beaten by Bangladesh in a T20.
On a pitch devoid of any grass, Bangladesh had to defend what Shakib Al Hasan called a "par score" in the innings break. But Shakib and Mustafizur Rahman bowled eight overs between them for just 40 runs, taking three wickets. Al-Amin Hossain finished with 3 for 34.
But Bangladesh's defence had not started well. Like he did in the previous match, Soumya Sarkar dropped a catch at slip in the first over, off Taskin Ahmed, this time the lucky batsman being Dinesh Chandimal who had not scored a run. Tillakaratne Dilshan too was dropped, though the chance at wide first slip in the second over was quite hard for a diving Mahmudullah.
But Dilshan was removed in the fourth over with Sarkar making up for his drop with a brilliant catch running back about 30 yards from mid-off, diving full length and landing safely with the ball. Chandimal and Shehan Jayasuriya then added 56 runs for the second wicket though, like Bangladesh, they went through exactly four overs without a boundary.
Jayasuriya broke that duck with a six in the 11th over but Chandimal holed out in the same over after making a run-a-ball 37 after mainly trying reverse hits in the last few balls he faced. Shakib quickly removed Jayasuriya in the next over, for a 21-ball 26 after missing a wide delivery to get stumped by Nurul Hasan.
Bangladesh's biggest fear factor was Thisara Perera because of his performance in 2014 but today he was lackluster, falling leg-before to Mustafizur and Sri Lanka soon slipped to 92 for 5 in the 15th over.
Angelo Mathews swung and missed plenty during his 20-ball 12 before he was well caught at point by Shakib running back a fair way. In the 18th over, with 46 still required, Dasun Shanaka finaly struck one sweetly, breaking the seven-over boundary drought. Al-Amin conceded nine runs in the over and Sri Lanka were still 37 adrift from their target with two overs to go.
Mustafizur gave away just five runs in the penultimate over before Al-Amin took two wickets in the last over to seal the win.
Earlier, Sabbir's hitting spree began in the fourth over when he took three fours and a six off Nuwan Kulasekara to kick-start Bangladesh's innings that saw the openers Mohammad Mithun and Sarkar return for ducks within the first nine balls.
In the fifth over, however, Sabbir got into a mix-up with Mushfiqur Rahim resulting in the latter's run-out. But Sabbir responded brilliantly, taking three fours off Perera in the next over. With Shakib, Sabbir took to building the innings and the pair went through 4.1 overs without a boundary.
Sabbir broke the shackles in the 13th over with a well-timed six over midwicket which also brought up his fifty off 38 balls. Jayasuriya conceded 17 in the over, with Sabbir hitting two fours right after the six. He cracked Dushmantha Chameera's first ball through the covers and added another four in the next over, off Rangana Herath. Sabbir struck his third six before getting out, trying to repeat the hit through midwicket, but was caught for 80 off 54 balls. At that point, he had scored just over 74 per cent of Bangladesh's 108 runs.
Shakib, who had till now struggled to time several balls, and Mahmudullah kept the momentum going with three fours in the next seven balls before Shakib was caught behind miscuing a bouncer in the 18th over. Mahmudullah, who has turned into Bangladesh's finisher in this Asia Cup, pulled a four followed by a six straight over the bowler's head in his unbeaten 12-ball 23, to give them the much-needed final thrust.
Chameera took 3 for 30 but Kulasekara gave away 44 runs in four overs. It was quite surprising to see Mathews not bowling his fourth over after he had given away just eight runs in his first three. Herath was economical but didn't take a wicket in his four overs.
Mohammad Isam is ESPNcricinfo's Bangladesh correspondent. @isam84