In the absence of senior bowlers, the Indian attack looked pedestrian as Sri Lanka chased down a stiff 175-run target with nine balls to spare. Kusal ended with a match-winning 66 off 37 balls.
India had shrugged off a poor start to post a competitive 174 for four, thanks to Shikhar Dhawan's delightful 90 off 49 balls.
It was an opportunity for a young Indian bowling line-up to make an impact but it was rattled by Perera's power-packed performance.
He slogged sweep Washington Sundar for his first six, setting the tone for the innings before punishing an erring Shardul Thakur in his first over which went for as much as 27 runs. Perera ended up hitting the Indian pacer for six boundaries in a row.
More From This Section
Such was was the frenetic pace of the chase that Sri Lanka crossed the 50-run mark in less than four overs. Thank to Perera's pyrotechnics, the hosts raced to 101 for three in 10 overs.
Thisara Perera (22 not out of 10) and Dasun Shanaka (15 not out off 18) ensured there were no twists in the tale and completed a fine victory over their fancied opponents.
Earlier, Dhawan hammered six sixes and as many fours in an entertaining effort which came after the early loss of captain Rohit Sharma (0) and Suresh Raina (1).
Rohit fell to a specular backward running catch from Jeevan Mendis off Dushmantha Chameera on the fourth ball of the innings.
Dhawan then gave the innings a much needed move on with the help of Manish Pandey (37 off 35) as they shared a 95-run stand.
The stylish left-hander also had luck on his side enroute to his fifth T20 half century as a top edge off consecutive balls sailed over the boundary ropes. Sri Lanka bowlers too helped the Indian team's cause by offering way too many loose balls.
The opener kept toying with the opposition attack and was well on his way to a maiden hundred in T20 Internationals. However, he fell in the 18th over off spinner Danushka Gunathilaka while attempting to hit another one out of the park.
Rishabh Pant, who came out to bat five ahead of Dinesh Karthik, scored a run-a-ball 23 . Karthik came up with two handy fours in the final over, ending with 13 off six balls.