It's likely South Africa will have to win its remaining six league games to maintain a chance of reaching the semifinals.
India had to wait until day seven of the tournament for its opening game, and the world's No. 1-ranked paceman Jasprit Bumrah didn't waste time getting things going when he dismissed both openers to have South Africa struggling at 24-2.
After Bumrah took the first two wickets by generating good pace and significant seam movement, wrist spinner Yuzvendra Chahal snared 4-51, starting with a pair in the 20th over that finished with the key wicket of du Plessis for 38.
Chris Morris chipped in with 42, Andile Phehlukwayo scored 34, and Rabada finished unbeaten on 31 as South Africa's allrounders contributed in a total of 227-9 that initially seemed well below par in mild but slightly overcast conditions on a pitch showing no signs of wear.
But South Africa's attack, missing veteran Dale Steyn (ruled out of the tournament) and Lungo Ngidi (hamstring injury), made India's strong batting lineup work.
Rabada bowled with pace and aggression early and, after missing out on Sharma's wicket, had Shikhar Dhawan (8) caught behind with the total at 13.
He then greeted India skipper Virat Kohli with a bumper and had figures of 1-3 after three overs, before Sharma hit him out of the attack with a six and two boundaries in his following over.
Kohli went to the crease aiming to extend a sequence of centuries — he opened the 2011 and '15 World Cups with hundreds — but the India captain was out for 18 when he chased a ball from Phehlukwayo and fell to an athletic, tumbling caught behind by Quinton de Kock.
Rabada came back to have KL Rahul (26) caught by du Plessis and returned 2-39 from 10 overs. He should have finally had Sharma's wicket in his ninth over, but David Miller dropped a sitter at cover when the Indian opener was 107 in a missed opportunity that summed up South Africa's day.
Chris Morris got a consolation wicket late, tumbling over the stumps at the non-striker's end when he took a skied, return catch to dismiss MS Dhoni (34) to make the total 213-4. Otherwise, it was a long day with few rewards for the South African bowlers.
India next plays defending champion Australia at the Oval on Sunday, and South Africa remains in Southampton to face the West Indies on Sunday.