Indian captain Virat Kohli stood firm against a relentless South African bowling attack on an attritional second day of the second Test at SuperSport Park on Sunday.
Kohli made 85 not out as India reached 183 for five at the close in reply to South Africa's first-innings total of 335.
It was tough going for both batsmen and bowlers on a slow pitch on a hot day. Kohli made his runs off 130 balls with eight fours.
The Indian skipper was saved by a faint inside edge on a ball from debutant Lungi Ngidi late in the day which was crashing into his stumps.
The powerfully built Ngidi was one of four bowlers to take a wicket each, having Parthiv Patel caught behind. He built up impressive pace, with one delivery timed at 150.5 km/h.
"I thought I had him," said Ngidi of the failed review.
"I thought he had hit the ground. I was very confident and when I saw that edge I kind of dropped a bit.
"When I bowled my first spell I hit his pads a few times so I thought that was a vulnerable area for him.
"He kept shifting across and getting into my bowling line so I thought, maybe shoot one in at the stumps and see what happens. I nearly got him."
Even so, Ngidi, 21, said his Test debut was a "dream come true".
India 183 for 5
(Kohli 85*, Vijay 46) trail South Africa 335
(Markram 94, Amla 82, du Plessis 63) by 152 runs