Sri Lanka suffered a mid-innings mini batting collapse but recovered in time to chase down 172 with seven balls to spare, thanks to half-centuries from Asalanka and Rajapaksa (53 off 31 balls). The duo stitched 86 runs for the fifth wicket in just 8.4 overs.
The 24-year-old Asalanka held the Sri Lanka innings together, hitting five fours and as many sixes during his entertaining knock. Coming in to bat in the 10th over, Rajapaksa, 30, smashed three fours and as many sixes.
Bangladesh would be disappointed with its shoddy outfielding as Litton Das dropped regulation catches of both Rajapaksa and Asalanka. Bangladesh had bagged the breakthrough off the fourth delivery of the innings as left-arm spinner Nasum Ahmed got rid of opener Kusal Perera (1), who was clean bowled.
Shakib Al Hasan later triggered a mini batting collapse with two wickets – Pathum Nissanka (24) and Avishka Fernando (0) – off four balls. Mohammad Saifuddin then dismissed Wanindu Hasaranga (6).
But, Asalanka, who reached his fifty off 32 balls, went great guns and hoisted Mahmudullah for two sixes in the 14th over. Sri Lanka needed 46 from the final five overs, with Asalanka and Rajapaksa titling the balance of the match.
Earlier, opener Mohammad Naim and Mushfiqur Rahim cracked half-centuries to steer Bangladesh to 171 for four. Naim hit six boundaries during his 52-ball 62 while Rahim remained unbeaten on 57 from 37 balls with the help of five fours and two sixes.
Brief scores: Bangladesh 171/4 in 20 overs (M Naim 62, Mushfiqur 57*) lost to Sri Lanka 172/5 in 18.5 overs (C Asalanka 80*, B Rajapaksa 53, Shakib 2/17)