Kusal Perera got Sri Lanka going after they had lost the toss with an innings of 64 from 44 balls and although their charge stalled, Mendis and Thisara Perera pushed them up to 198 for five with some late blasts.
The Tigers' chase was undermined by the steady fall of wickets and although Mohammad Ashraful contributed 43 off 27 balls they came up short, finishing on 181 for seven. Kusal Perera hammered a six over deep midwicket off the fifth ball and followed that up with a four through third man off the next ball.
He continued to find the boundary rope with alarming ease to reach his maiden T20 half-century in the eighth over although Dilshan Munaweera, Dinesh Chandimal - who was leading Sri Lanka for the first time - and Lahiru Thirimanne all fell for single figure scores.
Kusal Perera hammered Mahmudullah over deep midwicket for his fourth maximum but he then edged behind in the same over to give the bowler his revenge. Angelo Mathews (30 not out from 27 balls) then anchored Sri Lanka's innings to allow Mendis and Thisara Perera to brutalise Bangladesh's attack.
Mendis contributed 37 off just 17 balls while Thisara Perera's cameo of 22 off seven deliveries boosted the hosts.
Despite Ashraful thumping back-to-back fours in the first over, Shamsur Rahman was trapped in front with the final delivery by Mathews, who then bowled Jahurul Islam in his next over.
The Tigers briefly stalled although Ashraful boosted their total with six-six-four off Thisara Perera, who would have the last laugh when the opener was adjudged lbw. Mushfiqur Rahim and Mahmudullah attempted to keep Bangladesh's challenge ticking over although they perished in the space of two balls in the 15th over.
Mushfiqur was caught at deep midwicket for 39 off Sachithra Senanayake, while Mahmudullah had to walk for 31 after being run out following a mix up with Mominul Haque.
The tourists never recovered from that double blow despite the best efforts of Mominul, who finished on 26 not out.