Electing to bat, the Indians lost Shikar Dhawan (29) early but Vijay and Pujara, who scored 153 in the epic drawn Test in Johannesburg, ensured that they did not suffer any further damage by batting cautiously. Earlier, resuming India's innings at 76 for one in the post-lunch session, Vijay and Pujara further increased their 35-run partnership for the second wicket, playing with consummate ease. MORE ON INDIA VS SOUTH AFRICA Jaques Kallis to quit Test cricket after India series Teams: (JPN/Agencies)
Riding on Vijay and Pujara's exploits, India went into tea on a commanding position at 163 for eight.
Coming out to bat post tea, the two batsmen had disappointment in store as only eight overs were bowled in the final session of play before bad light interrupted the proceedings, eventually forcing the umpires to call off the remaining day's play.
Despite the sun hiding behind clouds after the break, there was nothing more than a hint of movement on the bouncy pitch for the South African pace battery.
The two batsmen made good use of the conditions, playing watchfully yet at the same time scoring at a decent pace.
India crossed the 100-run mark in the 30th over. The last 10 overs bowled by the Proteas in the post-lunch session had cost 48 runs without producing a wicket.
It was the highlight of the day as run-scoring became easier once the batsmen had got themselves in, something Vijay did with aplomb in the first session as Pujara just carried on his form from the first Test, where he scored 153 in the second innings.
In the 34th over, Vijay brought up a well-deserved half-century after grinding his way at Johannesburg without scoring too many runs. It was his fourth fifty in 20 Tests, coming off 102 balls, with 11 fours. Notably, he scored at a much better clip than the previous match, outlining the nature of the pitch.
Jacques Kallis (0-23) and Morne Morkel (1-25) bent their backs in the middle phase of the session, trying to get some purchase out of the wicket. But they only had disappointment in store as India raked up 60 runs in the 13 overs bowled in the first hour after lunch.
Vernon Philander (0-39) came back into the attack in the 43rd over, and Vijay greeted him with a sumptuous cover drive that brought up the 100-run partnership for the second wicket.
Pujara, on the other hand, quietly accumulated his runs, as India's 150-run mark came up three overs later.
Just before tea, in the 52nd over, Pujara brought up his fourth fifty of career in just 17 Tests. He used up 97 balls for it, hitting seven fours.
Dale Steyn (0-47) returned to bowl a nagging spell just before the break, beating Vijay's outside edge on more than one occasion, as the ball started doing a bit under overcast conditions. But the batsmen survived and went into the break with their partnership intact.
Robin Peterson (0-28) was the only other bowler used in the session, toiling hard without any reward.
Earlier in the morning session, Kallis, playing in his last Test, led the hosts on to the field, wherein he was given a 10-second head-start by his team-mates as the crowd cheered for the all-rounder who acknowledged them with raised hands and a bow with his hat.
Shikhar Dhawan and Vijay then took guard against Steyn and Philander respectively, with the former getting off the mark on the second delivery, punching the ball down the ground for four after India captain won the toss and elected to bat.
In the first 10 overs, India were nearly going along at four runs an over even as South Africa introduced Morkel into the attack as early as in the eighth over.
In the first hour of play, 41 runs came in 13 overs as both batsmen looked comfortable and set for a big outing.
But the drinks break worked against Dhawan, who was out first ball afterwards, playing a loose shot off Morkel, caught at third slip by Alviro Petersen. Dhawan scored 29 runs off 49 balls, with four fours.
But Vijay and new batsman Pujara then negotiated the remainder of the session ably without any overtly troublesome moments, picking runs almost at will.
India made one change in their playing eleven and surprisingly dropped off-spinner R Ashwin for Ravindra Jadeja taking. South Africa too made one change to the side from Johannesburg, with left-arm spinner Robin Peterson coming in for leggie Imran Tahir.
South Africa - Graeme Smith (captain), Alviro Petersen, Hashim Amla, Jacques Kallis, AB de Villiers, Faf du Plessis, JP Duminy, Robin Peterson, Vernon Philander, Dale Steyn, Morne Morkel.
India - Murali Vijay, Shikhar Dhawan, Cheteshwar Pujara, Virat Kohli, Rohit Sharma, Ajinkya Rahane, MS Dhoni (captain), Ravindra Jadeja, Ishant Sharma, Zaheer Khan, Mohammed Shami.
Electing to bat, the Indians lost Shikar Dhawan (29) early but Vijay and Pujara, who scored 153 in the epic drawn Test in Johannesburg, ensured that they did not suffer any further damage by batting cautiously.
Earlier, resuming India's innings at 76 for one in the post-lunch session, Vijay and Pujara further increased their 35-run partnership for the second wicket, playing with consummate ease.
MORE ON INDIA VS SOUTH AFRICA
Jaques Kallis to quit Test cricket after India series