Kusal Mendis, a last-minute inclusion in the T20I squad, smacked 53 off 27 to spearhead the chase. He was stumped by Mushfiqur Rahim off the bowling of Nazmul Islam in the fifth over, giving the debutant his maiden T20I wicket but the runs didn't stop there.
Chasing nearly 10 an over, Sri Lanka got off to a terrific start with Gunathilaka (30) and Kusal Mendis (53) scoring 10 boundaries in the first 27 deliveries before Nazmul Islam (2-25) on his maiden outing had the former stumped.
One could have been forgiven for being a bit dazed at the start of this game. They registered their highest successful chase in the format with 20 balls to spare and also their first win in nine T20I matches. But that's not it.
Interestingly, Tamim Iqbal, who is the vice-captain for the Tigers in T20Is, was overlooked for captaincy yet again. Bangladesh rode on brisk half-centuries by Soumya Sarkar and Mushfiqur Rahim to post their highest-ever T20I total but were undone by an attacking opposition batting.
Nazmul later picked the wicket of Upul Tharanga, for four, before fellow debutant Afif Hossain removed Mendis with his off spin.
Mahmudullah, the stand-in captain, and Rahim then put on a 73-run stand but the former's untimely wicket to Isuru Udana in the nineteenth overtook the steam off and kept the hosts to a total below 200, something that certainly looked on midway into the innings.
Shanaka was unbeaten on 42 off 24, and Perera was on 39 off 18.
The latest Test against Sri Lanka ended inside three days, with the visitors thrashing Bangladesh by 215 runs in a match that saw both sides all-out twice in less than eight sessions.