The hosts rode a 71-run opening stand between KL Rahul, who hit 45, and Shikhar Dhawan, who made 32, to chase down their target of 143 in 17.3 overs and take a 1-0 lead in the three-match series after the first match was rained off.
Leg-spinner Wanindu Hasaranga took the wickets of the Indian openers but Shreyas Iyer, who scored 34 before falling to paceman Lahiru Kumara, and Kohli, who hit the winning six, got the team home.
Paceman Navdeep Saini led India’s disciplined bowling attack to restrict Sri Lanka to 142 for nine in the second Twenty20 international in Indore on Tuesday.
Seam bowler Shardul Thakur claimed three wickets while Saini and wrist spinner Kuldeep Yadav took two each after India elected to bowl with the three-match series tied at 0-0 following the opening match being rained off.
Sri Lanka kept losing wickets at regular intervals but it was Yadav’s two key strikes including Kusal Perera, for 28, that further put a lid on the islanders’ scoring.
Saini, who bowled opener Danushka Gunathilaka for 20 claimed Bhanuka Rajapaksa caught behind for nine, returned impressive figures of 2-18 from his four overs.
Pace spearhead Jasprit Bumrah also took a wicket on return from his four-month injury lay-off after getting Dasun Shanaka bowled for seven with a slower ball.
Thakur returned in his final over and the team’s 19th to rattle the lower-order with three strikes including two on successive deliveries.
Number eight Wanindu Hasaranga signed off the innings with three straight boundaries off Bumrah but the total still seems below par on what is said to be a good batting pitch.
The third match is on Friday in Pune. AFP