Murali Vijay and Cheteshwar Pujara shared an unbeaten century partnership before bad light stopped play on the first day of the second and final Test against India at Kingsmead on Thursday.
(Scorecard | Highlights | Day 1 in pics | Day 1 stats)
India were 181 for one when the day's play was brought to a premature end eight overs after tea.
Vijay (91 not out) and Pujara (58 not out) put on 140 for the second wicket as South Africa's bowlers toiled on an unresponsive pitch after Indian captain Mahendra Singh Dhoni won the toss.
It was an inauspicious opening day for world champions South Africa after captain Graeme Smith said the team were determined to put in a good performance to mark star all-rounder Jacques Kallis' last Test. (Also read: Standing ovation for Kallis | In pics)
Kallis, 38, announced on Wednesday that he would retire from Test cricket after the match, although he will continue to play one-day cricket in an effort to be selected for the 2015 Cricket World Cup in Australia and New Zealand.
Kallis led the South African team on to the field at the start of play to the applause of his team-mates, spectators and umpires Steve Davis and Rod Tucker.
Morne Morkel claimed South Africa's only wicket when he had Shikhar Dhawan caught at third slip off the first ball after the mid-morning drinks break. Dhawan made 29 in an opening stand of 41 with Vijay.
Morkel suffered a sprained right ankle while fielding on the third day of the drawn first Test in Johannesburg last Friday. It was initially expected he would be put of action for between seven and ten days but he passed a fitness test on Thursday morning after intensive treatment.
It was a good toss for India to win, with Dhoni noting that the pitch looked dry and good for batting.
It also gave India's fast bowlers a chance to recover further from their exertions in Johannesburg, where India bowled 136 overs in the last innings without being able to clinch victory.
Dhawan and Vijay both looked confident at the start of the innings and the left-handed Dhawan struck four boundaries before edging a drive to Alviro Petersen at third slip.
Vijay batted patiently to notch a half-century off 102 balls, a statistic made notable by the fact that his fifty included 11 boundaries. By the close he had faced 201 balls and added another six fours.
Pujara followed up his 153 in the second innings in Johannesburg with another impressive innings, reinforcing his reputation as the successor to Rahul Dravid in playing the anchor batting role for his team.
He reached his fifty shortly before tea off 97 balls with seven fours. He faced another 20 deliveries before the close without adding to his tally of boundaries.
The match started in bright sunshine but by tea the ground had clouded over and the floodlights were on.
The umpires had several discussions about the light before taking the players off just over half an hour after the interval.
The tall Morkel looked the most dangerous of the South African bowlers, although the pitch did not offer any significant pace and bounce.
Vernon Philander had a probing second spell during which sent down four successive maiden overs, while Dale Steyn had the composed Vijay ducking with some short-pitched bowling from around the wicket just before play was halted.
India made one change, with left-arm spinner Ravindra Jadeja replacing off-spinner Ravichandran Ashwin.
South Africa also made a change of spin bowlers, with left-armer Robin Peterson coming in for leg-spinner Imran Tahir.