Rassie van der Dussen and South Africa captain Temba Bavuma starred as the Proteas claimed a 31-run win over India in the opening ODI at Paarl.
Having won the Test series, South Africa started the three-match ODI series in confident fashion on Wednesday.
It was not all plain sailing, with the hosts 3-68 when Van der Dussen came to the crease in the 18th over but, along with his skipper, the 32-year-old turned in a supreme performance.
After dismissing Janneman Malan (six), the returning Quinton de Kock (27) and Aiden Markram (four), India – under the leadership of stand-in white-ball captain KL Rahul – had their tails up, but Bavuma and Van der Dussen put on a stand of 204 to take the game away from the tourists.
Bavuma's methodical 110 from 143 deliveries – his second ODI 100 – anchored things at one end while Van der Dussen flourished at the other, hitting 129 not-out to propel South Africa to 296-4 from 50 overs.
Rahul (12) edged Markram through to De Kock in the ninth over, but Shikhar Dhawan and Virat Kohli, playing for the first time since he was relinquishing the captaincy, seemed to have India well-placed.
Dhawan was bowled by Keshav Maharaj (1-42) for 79, however, and Kohli (51) fell inside three overs with a failed attempt at a sweep, shortly after reaching his half-century.
India needed 141 to win heading into their last 20 overs, yet Shreyas Iyer (17), Rishabh Pant (16), Venkatesh Iyer (two) and Ravichandran Ashwin (seven) lost their wickets in the space of six overs.
The impressive Shardul Thakur reached 50 with the final ball of the day, but his flurry was never enough to trouble South Africa as India finished on 265-8.
Record-setting Van der Dussen dazzles
"In the past, I maybe would have taken 15-20 balls to assess, but the conditions told me I had to get going from fairly early on," said Van der Dussen after his innings.
Getting about it early on is just what Van der Dussen did, sweeping for four off the third ball he faced. It set the tone for an exquisite display that included nine boundaries and four sixes, with his 129 n.o. reached in 96 deliveries, at a strike rate of 134.37.
He now has the best average of any batsman to have scored at least 1,000 ODI runs, with 73.62.
South Africa share the wickets around
Jasprit Bumrah was the pick of India's bowlers with 2-48 from his 10 overs, though he had little support from the rest of the attack.
The Proteas, meanwhile, had Lungi Ngidi, Tabraiz Shamsi and Andile Phehlukwayo each contribute two wickets, albeit Bavuma will be unhappy with some sloppiness that crept in late on, when Thakur was able to tally 16 in the 48th over.