India ended Day 2 at 142 for 2 in reply to South Africa's first innings total of 362 at the Newlands cricket ground in Cape Town.
Gautam Gambhir (65) and Sachin Tendulkar (49) were at the crease when stumps were drawn on Monday.
Gambhir, who was dropped twice (10 and 60), blossomed after a nervous start to reach 65 from 159 balls, with the help of eight fours, while Sachin Tendulkar was on 49 from 106 balls (5 fours).
The duo put on 114 runs in 39.1 overs for the third wicket to steady the innings after they were reduced to 28 for two at one stage following the run out of Rahul Dravid for five and Virender Sehwag (13).
Kallis posts 39th Test century
Earlier, Jacques Kallis registered his 39th century in Tests as South Africa were dismissed for 362 in their first innings stortly after lunch on Day 2 in the third Test against India at Newlands, Cape Town, on Monday.
The century put the South African batting ace alongside Australia's Ricky Ponting in second place in the list of most centuries in Test cricket, which is led by Sachin Tendulkar, who has 50 centuries.
Kallis was the last South Africa wicket to fall, finally dismissed for 161, caught behind by Mahendra Singh Dhoni off the bowling of Zaheer Khan after he faced 291 balls.
Kallis continues love affair with Newlands
Kallis continued his love affair with Newlands as he brought up his seventh century at the venue, his second of the series.
He got to 99 with consecutive boundaries off S Sreesanth. The first was an on-drive and then next clipped through the mid-wicket. He reached his 39th century with a tuck to the square leg region for a single off Sreesanth in the 88th over.
Sreesanth strikes vital blows
Pacer Sreesanth shone with the ball as he took five for 114 in 29 overs to trigger a lower order collapse, even as Kallis frustrated the Indians by adding 52 runs for the final wicket with Lonwabo Tsotsobe (8).
Sreesanth started off with two wickets in his first over on day two.
Ashwell Prince was his first victim of the day; he was beaten all ends up by a delivery that came in to sneak through his defences and bowl him for 47. The Kerala pacer then produced another beauty to get rid of Mark Boucher (0); he got the outswinger to pitch perfectly and take the outside edge.
Ishant cuts short Kallis-Harris partnership
Kallis and Paul Harris frustrated the Indians as they stitched together a partnership and kept the scoreboard moving.
But Ishant finally got the breakthrough as he went round the wicket and got Harris caught at leg slip off a short delivery for seven.
Sreesanth's good run continues
Sreesanth completed his third five-wicket haul in his 24th Test by getting Morne Morkel to edge one to Dhoni behind the stumps
He finished with figures of five for 99 in 27 overs to continue his good run in South Africa, while Zaheer Khan (2 for 82) and Ishant Sharma (2 for 77) were the other wicket-takers.