After bowling out their hosts for 335 just before lunch, India lost two wickets in quick succession before Kohli (39 not out) and opener Murali Vijay (31 not out) put on an unbeaten third wicket stand of 52 to take the side to the interval.
India was hoping for a quicker end to South Africa's first innings after three quick wickets at the end of the first day had the home team wobbling on 269-6 at stumps. Moments later, Parthiv Patel ran out Vernon Philander. The right-hander, having struggled on Day 1, hit the straps immediately on Day 2 to get Keshav Maharaj caught behind in his first over.
Cricket - India v South Africa - Second Test match - Centurion Stadium, Pretoria, South Africa - January 14, 2018.
India had initially contained the home batsmen in the first 90 minutes of the session, bowling excellent lines that made scoring shots a risk.
Ishant Sharma justified his selection ahead of Bhuvneshwar Kumar by taking 3-46, which included the wicket of du Plessis. However the 42 runs he shared for the eight wicket with Du Plessis, may yet prove crucial in this match.
Two balls later, Quinton de Kock edged his first ball to slip, giving Ashwin his third wicket. Twice in two balls, India's fielders let off Rabada. Then he charged out of his crease, slogged, and miscued one high over the point region. Soon after, du Plessis appeared to edge Ashwin while looking to defend him off the back foot and the ball clanged off Parthiv's gloves.
India's reply to that mediocre South African score on a good batting pitch at Centurion stuttered early when KL Rahul was out caught and bowled by Morne Morkel for 10, and Cheteshwar Pujara run out first ball he faced by a direct hit at the non-striker's end from debutant Lungi Ngidi.
Ishant then returned, sending Pandya to the square-leg boundary, and a bit of athleticism from the latter sent back Rabada after he miscued a hook. 14 Innings taken by Hasim Amla to score fifty against India in test. Markram score 94 against India.