Kohli hit an unbeaten 73 off 49 balls as India chased down a target of 165 in 17.5 overs to level the five-match series at 1-1.
It was Kohli, who finished off the game in style, with a flicked four and then a pulled six against Chris Jordan.
But that was not before he hit five fours and three sixes and also became the first batsman to reach 3,000 runs in T20 internationals.
Kohli now has 6001 runs from 87 T20Is since making his debut in the format in Zimbabwe in 2010.
He is also the leading run-scorer in the Indian Premier League with 5878 runs from 192 matches.
England won the first game by eight wickets.
The third T20 is on Tuesday.
📣 The Indian Express is now on Telegram. Click here to join our channel (@indianexpress) and stay updated with the latest headlines