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.
"I've been waiting for this opportunity to come up the batting order," said Kohli. "I like to be in the action early on while conditions are tough and then dictate. They (Tendulkar's) are big shoes to step in to but I had a plan in mind."
Kohli said it had been the best innings of his Test career. "It was all about respecting the bowlers and the conditions and then respecting yourself when you get in."
He said he thought India had done well, given the inexperience of their batsmen and the quality of the opposition. "We have learnt our lessons on this tour and you didn't see any of our batsmen playing loose shots outside the off stump.
"Hopefully we can build on it tomorrow and then bowl well to put them under pressure." 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 Mahendra Singh 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 added 68 for the fifth wicket.
Rahane batted solidly, especially against the second new ball, and was unbeaten on 43. South African bowling coach Allan Donald said the home team's bowlers had done reasonably well.
"We asked the right questions to begin with but we were probably a bit wide and a bit short for most of the day. At the same time the game never ran away from us. We stuck to our guns but we know we have to come out tomorrow and make a big play."
The Kohli-Pujara partnership ended with a mix-up which led to Pujara being run out after making 25 off 98 balls.
Kohli played leg-spinner Imran Tahir towards midwicket and set off for a run, only to send Pujara back as Tahir scurried to pick up the ball.
Hashim Amla backed up at the bowler's end and broke the stumps with Pujara well out.
Rohit Sharma, who made centuries in his only two previous Test innings against the West Indies in India, was caught behind off Vernon Philander for 14 shortly before tea.
Kohli, though, played a wide variety of attacking strokes, reaching his fifty off 76 balls with nine fours and his fifth Test century off 140 deliveries.
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.
Did you know?
The last time India had three Mumbai players in the Test side: At MCG 26-29 December 2007 (Wasim Jaffer/S Tendulkar/Zaheer Khan)
— Courtesy Mohandas Menon via Twitter
Highest scores by Indians in their 1st innings vs South Africa:
> 119 Virat Kohli (2013)
> 105 Virender Sehwag (2001)
> 103 Pravin Amre (1992)
> 96 Gautam Gambhir (2004)
- Rajneesh Gupta on Twitter
Photos: Kareena Kapoor Khan, Kangana Ranaut at the Mumbai airport
Photos: Virat Kohli-MS Dhoni's bromance, Team India in LOL mode
Bollywood celebs show you colours for Navratri 2017
Birthday special: Chris Gayle and his multiple records in cricket
In Pictures: 17 dreaded on-screen villains of Bollywood