A disciplined Indian attack proved too good for the struggling Sri Lankans, reducing the visitors to a below-par 142 for nine in the second T20 International.
Sri Lanka's batsmen job was made harder by Navdeep Saini (2/18), Shardul Thakur (3/23) and Kuldeep Yadav (2/38), who shared seven wickets among themselves.
Coming from a four-month injury lay-off, lead pacer Jasprit Bumrah did not look at his best, ending with figures of one for 32 in four overs, the most expensive after Kuldeep.
Chasing a moderate target of 143, openers KL Rahul (45) and Shikhar Dhawan (32) gave India a solid start with a 71-run stand for the first wicket.
Skipper Kohli (30 not out) smashed a six in the 18th over to seal the deal for the rampaging hosts with 15 balls to spare.