Kohli (72 not out off 52 balls), who made a memorable 82 not out in his last T20 on this ground more than three years ago, helped India chased down the modest target with consummate ease, getting the team home in 19 overs.Opener Shikhar Dhawan (40 off 31) too made a significant contribution and shared a 61-run stand with the skipper, who scored his 22nd T20 fifty. His 52-ball knock comprised four boundaries and three sixes.
The solid performance with the bat came after the bowlers restricted South Africa to 149 for five in 20 overs.
The third and final T20 will be played in Bengaluru on Sunday. It effectively became a two-match series after the opening game in Dharamsala was washed out on September 15.
India were always in control of the chase despite losing Rohit Sharma (12 off 12) early. The India vice-captain was trapped in front by Andile Phehlukwayo after he pulled debutant Anrich Nortje for two sixes in the second over.
While it was a treat to watch Kohli, Rishabh Pant (4) threw away his wicket again. India were cruising when he came into the middle and it was an ideal platform for Pant to take the team over the line alongside his captain.
It was an innocuous ball from debutant spinner Bjorn Fortuin but Pant hit it straight to the short fine-leg fielder Tabraiz Shamsi.
Earlier, South Africa captain Quinton de Kock (52 off 37) and debutant Temba Bavuma (49 off 43) played impressive knocks but India managed to limit South Africa to a below-par total.
South Africa did not get the final flourish they were looking for.
India bowled well in the death overs, conceding only 24 runs in the final four with pacer Deepak Chahar being the pick of the bowlers, taking two wickets for 22 runs in four overs.
Kohli sent a new-look South Africa in to bat with the visitors picking three debutants in Nortje, Fortuin and Bavuma.
While Reeza Hendricks departed cheaply, de Kock looked in sublime touch from the word go.
He cover drove spinner Washington Sundar on the first ball he faced before collecting three straight boundaries off pacer Navdeep Saini who was taken out of the attack after conceding 13 runs in his first over.
Bavuma, South Africa’s Test specialist, joined de Kock after the fall of Hendricks in the fourth over and he too looked in fine touch. He made his intentions clear by pulling Hardik Pandya over deep square leg for a six.
South Africa made only 39 for one in six overs but their innings picked up momentum after that as they reached 78 for one in 10 overs.
It took a brilliant catch from skipper Kohli to dismiss de Kock and shift the momentum in India’s favour.
De Kock mistimed a hit off Saini and Kohli came running from mid-off to pounce on it, brining the crowd back to life. The stand between de Kock and Bavuma yielded 57 runs.
Vice-captain Rassie van der Dussen, South Africa’s best batsman in the World Cup, followed de Kock in the dressing room quickly by offering a simple return catch to Ravindra Jadeja in the 13th over, leaving his team at 90 for three.
Runs dried up in the death overs but South Africa got much-needed couple of sixes in the 20th over off Saini which went for 16 runs.
South Africa: 149 for 5 in 20 overs (Quinton de Kock 52, Temba Bavuma 49; Deepak Chahar 2/22).
India: 151 for 3 in 19 overs (Virat Kohli 72 not out, Shikhar Dhawan 40; Tabraiz Shamsi 1/19).