Virat Kohli once again stood for his team and kept India afloat against South Africa on Day 1, after the openers failed to contribute anything.
The Indian skipper smashed a gritty 54 runs off 106 balls to reach his 16th Test half-century.
However, the right-handed batsman was caught out by AB de Villiers of Lungi Ngidi, soon after his century.
Along with Pujara, whose individual contribution is very low if compared to the balls he has played, stood shoulder to shoulder with his captain.
The two played attentively to take India's total from 13 to 97 without losing any further wicket and building an 84-run partnership.
After losing three wickets, India's score stands at 104 for the loss of three wickets after 49 overs.
Opener M Vijay once again got off to a wrong start with Vernon Philander striking early.
Whereas, KL Rahul once again touched a ball that was pitched slightly outside off and gave an easy catch behind the wickets to Quinton de Kock.
India on Wednesday won the toss and opted to bat first at the Wanderers Stadium.
After losing two consecutive Test matches, India is playing very cautiously to avoid a series whitewash.
Meanwhile, Ajinkya Rahane, who did not play the first two Tests was recalled on the strength of a strong record in overseas Tests.
Dinesh Karthik was flown in as a replacement for injured wicketkeeper Wriddhiman Saha and could play at the expense of Parthiv Patel, who had a poor game with the gloves in the second Test at Centurion.