Full scorecard: India v South Africa
Full interactive coverage
Quinton de Kock hammered his seventh ODI century for South Africa to resurrect his international career in fine style and answer his detractors. His 103 off 118 balls with 11 fours and a six powered South Africa to 270 for seven. De Kock featured in a 118-run partnership with Faf du Plessis off 121 balls for the third wicket.
South Africa looked to be on course for a total of 300 or more when they reached 153 for two after 30 overs, but three wickets in the space of nine deliveries saw South Africa lose their way slightly.
Morkel then captured four for 39 to restrict India to 252 for six.
The hosts wilted in the final 20 overs despite a productive partnership for the third wicket between MS Dhoni and Virat Kohli.
Morkel removed Dhoni with a slower delivery in his second spell when the captain had added 80 off 114 balls for the third wicket with Kohli.