Paceman Jasprit Bumrah struck early to dismiss both South African openers as India took control of their opening game of the World Cup.
Bumrah, the world’s top-ranked one-day international bowler, had the ball darting around on a cloudy morning in Southampton as he sent back Hashim Amla for six.
Amla, who missed South Africa’s previous match against Bangladesh, defended a delivery with extra bounce from Bumrah but got an outside edge that was caught at second slip by Rohit Sharma.
Bumrah then struck again in his next over, with Quinton de Kock, who made 10, edging to skipper Virat Kohli at third slip as South Africa slipped to 24 for two.
Earlier, South Africa won the toss and elected to bat first.
Skipper Faf du Plessis leads a side with two changes after South Africa’s second straight defeat on Sunday.
Top-order batsman Hashim Amla returns to the XI after missing the previous match against Bangladesh and, with paceman Lungi Ngidi injured, the Proteas are playing two spinners.
“Mostly because of the make-up of the side playing two spinners, that’s the most attacking option,” Du Plessis said at the toss.
“We didn’t have the ideal start, but we need to keep going. We need to win six games to get to the semis, we have seven games left, so definitely not over yet.”
South Africa announced on Tuesday that pace spearhead Dale Steyn had been ruled out of the World Cup without playing a match — a major blow.
Tournament favourites India are also playing two wrist spinners in Kuldeep Yadav and Yuzvendra Chahal, with paceman Mohammed Shami missing out.
India skipper Virat Kohli said that good backing in Southampton would lift his team.
“The crowd support will be massive for us. Lots of people who live here and lots who are travelling here,” said Kohli.
“For us its about keeping composure, remembering why we got the results in the last two years and continuing the same way,” he added.
India: Virat Kohli (capt), Rohit Sharma, Shikhar Dhawan, KL Rahul, Kedar Jadhav, M.S.Dhoni, Hardik Pandya, Bhuvneshwar Kumar, Kuldeep Yadav, Yuzvendra Chahal, Jasprit Bumrah
South Africa: Faf du Plessis (capt), Quinton de Kock, Hashim Amla, Rassie van der Dussen, David Miller, JP Duminy, Andile Phehlukwayo, Chris Morris, Kagiso Rabada, Imran Tahir, Tabraiz Shamsi
Umpires: Richard Kettleborough (ENG), Michael Gough (ENG) TV Umpire: Richard Illingworth (ENG) Match Refree: Ranjan Madugalle (SRI)