Promoted to the number four position filled for the better part of two decades by Tendulkar before his recent retirement, Kohli hit a career-best 119 as India reached 255 for five at the close of play on Wednesday.
Coming in with his side in trouble at 24 for two, Kohli stroked 18 boundaries in a 181-ball innings.
His innings went a long way towards justifying captain MS Dhoni's decision to bat first, but he could not hide his disappointment when he was dismissed shortly before the second new ball was due, driving Jacques Kallis uppishly to cover.
South Africa could not take advantage of his dismissal, however, as Ajankya Rahane, playing in his second Test, and Dhoni saw out the rest of the day.
Kohli shared two important partnerships as South Africa's vaunted pace attack was blunted on a well-grassed pitch which offered plenty of bounce but minimal sideways movement.
He and Cheteshwar Pujara put on 89 for the third wicket before Pujara was run out for a patient 25 made off 98 balls. Then Kohli and Rahane, playing in his second Test, added 68 for the fifth wicket.
With a previous highest score of 116, against Australia in Adelaide two seasons ago, Kohli appeared to be determined to make his latest hundred a big one and played with more circumspection after reaching three figures.
Earlier Dale Steyn and Morne Morkel took a wicket apiece as the Indian batsmen were subjected to a testing examination from the South African pace attack.
Steyn dismissed Shikhar Dhawan for 13 and Morkel claimed the wicket of Dhawan's fellow opening batsman, Murali Vijay, for six.