The Proteas won the toss and sent India in to bat in the first Test at SuperSport Park in Centurion on Tuesday.
The start of play was delayed by 30 minutes because of damp patches on the pitch, which had been covered since Sunday while a reported 51mm of rain fell.
"The wicket has been under cover for the past two days and there is a bit of moisture in the wicket, so we would like to make use of it," said South African captain Temba Bavuma.
South Africa opted for an all-seam attack and included two debutants in batsman David Bedingham and left-arm fast bowler Nandre Burger.
Bavuma said fast bowler Lungi Ngidi had recovered from an ankle injury but was not considered match fit.
Indian captain Rohit Sharma said he was not sure about whether he wanted to bat or bowl.
"There is a bit of grass and some moisture. We understand the challenge of batting first but we know what to expect."
India gave a first Test cap to fast bowler Prasidh Krishna, while off-spinner Ravichandran Ashwin was preferred to left-armer Ravindra Jadeja, who Sharma said suffered a neck spasm earlier in the morning.
More rain was expected later in the day.
Teams for Centurion
South Africa: Temba Bavuma (capt), Dean Elgar, Aiden Markram, Tony de Zorzi, Keegan Petersen, David Bedingham, Kyle Verreynne (wkt), Marco Jansen, Gerald Coetzee, Kagiso Rabada, Nandre Burger.
India: Rohit Sharma (capt), Yashasvi Jaiswal, Shubman Gill, Virat Kohli, Shreyas Iyer, KL Rahul (wkt), Ravichandran Ashwin, Shardul Thakur, Jasprit Bumrah, Mohammed Siraj, Prasidh Krishna.
Umpires: Paul Reiffel (AUS), Langton Rusere (ZIM).
TV umpire: Ahsan Raza (PAK)
Match referee: Chris Broad (ENG)
AFP