Published: 2020-01-08 04:39:50 BdST
Kohli smashed Lahiru Kumara for a six to seal a clinical victory which came with 15 balls to spare as the Indian top order complemented the spadework done by their bowlers.
Shardul Thakur claimed three wickets in one over to help restrict Sri Lanka to a below-par 142-9 with only Kusal Perera (34) managing a decent score on a traditionally high-scoring ground.
Kohli won the toss and unsurprisingly elected to field, once again putting faith in his team's ability to chase in Indore's Holkar Cricket Stadium.
Sri Lankan openers Danushka Gunathilaka (20) and Avishka Fernando (22) got starts but could not carry on.
Perera smacked three sixes in his breezy knock before falling to Kuldeep Yadav.
Navdeep Saini impressed with his pace again, yorking Gunathilaka and then bouncing out Bhanuka Rajapaksa.
Thakur wrecked the lower order, dismissing Dhananjaya de Silva, Isuru Udana and rival captain Lasith Malinga in the penultimate over.
Wanindu Hasaranga smashed the last three deliveries from Jasprit Bumrah, who returned from a back injury, but the tourists still fell short of the 150-mark.
KL Rahul and Shikhar Dhawan gave India a strong start, their 71-run opening stand taking them nearly halfway to their target.
Hasaranga deceived Rahul, who made a fluent 45, with a googly to snap the burgeoning partnership and trapped Dhawan lbw for 32.
Shreyas Iyer chipped in with a typically busy 34 before perishing searching for his second six.
Kohli stayed put to guide India home, hitting two sixes in his unbeaten 30 off 17 balls.
The series opener in Guwahati was abandoned because of rain and a wet outfield. Pune hosts the third and final match on Friday.