The home side elected to bat and posted 296 for four in their 50 overs, with Bavuma’s 110 from 143 balls the anchor to go with an unbeaten 129 not out off 96 from Van der Dussen, who scored his maiden ODI ton.
India started well as opener Shikhar Dhawan scored 79 from 84 balls and former captain Virat Kohli 51 from 63, but when they were dismissed the touring side struggled to keep up with the required run-rate and finished on 265 for eight.
Shardul Thakur provided lone resistance with an unbeaten 50 from 43 balls, but many of the Indian batsmen struggled for fluency on the slow wicket.
Andile Phehlukwayo (2-26) was the pick of the home attack and claimed the key wicket of Rishabh Pant (16), but Tabraiz Shamsi (2-52) and Lungi Ngidi (2-64) also played their part.
South Africa’s innings was shaped by Bavuma, who was patient from the start after the home side were in trouble at 68-3 in the 18th over.
His stunning partnership of 204 from 183 balls with Van der Dussen, who was the aggressor with nine fours and four sixes, laid the platform for their above-par score.
They were particularly impressive in negating the Indian spinners, with seamer Jasprit Bumrah (2-48) the pick of the tourists’ attack.
The second match in the series will be played at the same venue on Friday, with the third and final one in Cape Town on Sunday. The results do not count towards the Cricket World Cup Super League.