De Kock's career-best 135 came off 121 balls and included 18 fours and three sixes as he helped catapult the Proteas to 358 for four in their 50 overs after being sent in to bat by India.
South Africa were playing in a pink kit in support of a cancer charity, but looked red hot in the field as they restricted the tourists to 217 all out in 41 overs on a lively track perfectly suited to their all-pace attack.
Left-handed 20-year-old De Kock and Hashim Amla (65) put on 152 for the first wicket for South Africa at a decent run-rate before the innings exploded into life in the final 15 overs.
AB de Villiers plundered 77 from 47 balls, including four sixes, and JP Duminy was not out 59 from 29 balls.
The pair put on 105 in 46 balls for the fourth wicket as they dispatched the bowling to all parts.
India slipped to 65 for four in their reply as their innings stuttered along, not helped by the run outs of Rohit Sharma, who took 43 balls to score his 18, and Suresh Raina (14).
Dale Steyn (three for 25 in eight overs) was ferocious in his opening spell, but it was Ryan McLaren (three for 49) who put India on the back foot when he picked up Virat Kohli (31) and Yuvraj Singh (0) within three deliveries.
India captain Mahendra Singh Dhoni provided some late innings entertainment with a fine 65 from 71 balls, but the wickets continued to tumble around him and when he was bowled by Steyn to leave India nine down, their faint hopes evaporated.
The second of three one-day internationals will be played in Durban on Sunday.