Defending champions India qualified for the semi-finals of the tournament with as many as 12 overs to spare at the Oval.
"This is probably our best game we played so far... The most complete performance," Kohli said after the match.
Sent into bat by Kohli, South Africa were bowled out for 191 in 44.3 overs. In reply, India chased down the target with 12 overs to spare, reaching 193 for two in 38 overs, to set up a last-four clash with Bangladesh.
India showed intensity from the word go, and the reward was a comprehensive win. While the bowlers fired as a unit, which was backed up by impressive fielding, Shikhar Dhawan (78) and Kohli (76 not out) led the batting show.
More From This Section
The Indian captain said, "The opportunity comes your way, you have to grab it."
Regarding rival skipper AB de Villiers' run-out dismissal, Kohli said, "It's always good to get him out early, he can always hurt you. We wanted to step up that intensity. It's important for someone to bat till the end, but Shikhar's intent was outstanding."
De Villiers, who confirmed that he will play in the 2019 World Cup, credited India and called them the better team on the day.
"Not an ideal way to finish. Credit to them in those first 15-20 overs, they put the pressure on us, we normally don't bat that way.
"We never got going, very sad obviously, We were hoping to play a better game of cricket. Came unstuck against a better team. Couldn't it get away. A lot of soft dismissals," de Villiers said.
"It was an important game for us. We wanted to be calm and execute our plans.
"I'm happy with any role given to me. As long as you're contributing, it's good. The ball doesn't swing too much, so stick to the basics, bowl a hard length, don't give room. A good toss to win, chasing has been relatively easier.