Chasing 175 to win, Perera killed off the chase in just the third over as he smashed Shardul Thakur for 27 runs. Sri Lanka came out all guns blazing in the chase as they went for their shots right from ball 1, taking the game to an inexperienced Indian bowling attack.
Gunathilaka and Perera put on 58-runs for the second wicket, and then Perera partnered with Dinesh Chandimal to get Sri Lanka close to the target.
But Yuzvendra Chahal bought India back into the game with the double strike, removing Perera and experienced Upul Tharanga in quick succession as it seemed Sri Lanka might struggle to cross the finishing line.
Though, Thisara Perera ensured it wasn't a case of nerves as he smashed Undkat for 16 runs -with the Indian left-armer continuing his poor form - before smashing the winning boundary.
Washington Sundar bowled well for India, picking up 2/28 in his 4 overs, and also bowling in the powerplay.
Debutant Vijay Shankar was the other bowler who bowled well for India, conceding 15 runs off his 2 overs.
Earlier, put into bat by Sri Lanka, it was the Shikhar Dhawan show for India as the southpaw scored 90 off just 49 balls to help India reach 174, which looked above par at that stage.
India began poorly, losing Rohit Sharma for a duck and then Suresh Raina for 1. New ball bowlers Chameera and Pradeep picked up the wickets for Sri Lanka.
In-form Manish Pandey then combined with Shikhar Dhawan to give India a platform, as the two put together 95-runs for the fourth wicket.
Just when it seemed India would move up the gears, Jeevan Mendis accounted for Pandey, who was dismissed for 35.
Rishabh Pant had a day to forget as he struggled to find any sort of timing and ended up scoring run a ball 23., with 1 four and 1 six. Dinesh Karthik scored a quick-fire 13 off 6 balls towards the end.
First Published: March 7, 2018, 7:30 AM IST