The match followed a similar script as men in blue again piled on the runs, riding on Rohit Sharma's century (115) and then spin twins Yuzvendra Chahal and Kuldeep Yadav bamboozled the hosts with their wizardry.
Chahal, who sustained a stinging blow to his left hand while trying to stop a Miller drive off his own bowling, signalled victory by trapping Morkel in front to spark animated celebrations in the Indian camp, with history made.
South Africa chased down a revised target of 202, ultimately easily, after David Miller was bowled off a no-ball, given a life, and used it crack a match-turning 39 from 28 balls.
The incident happened in 7th over of the innings as South Africa began the chase. And, with the win, India has made quite a remarkable turnaround from the Test series loss and now the T20 series is up for grabs.
India are leading the six-match ODI series 3-1.
Rohit Sharma slammed 115 runs from 126 balls in the fifth ODI. In the process, Lungi Ngidi earned a career-best 4/51 in his nine overs. He had realised the pitch had slowed down, and needed to put the two run-outs behind him to take India past 250.More news: Charlotte Kalla wins first gold medal of Pyeongchang Winter Olympics
Rohit Sharma and Shikhar Dhawan have got India off to a good start. JP Duminy (0-29) was welcomed by back to back boundaries from Rohit as he completed his 35th ODI fifty and in the 23rd over, Kohli survived a stumping chance with the third umpire giving the benefit of doubt to the batsman. But as the latter too got his eye in, he marked his return to form with a stunning six off Kagiso Rabada in the sixth over. At the very same time, during the previous ODI at Johannesburg, MS Dhoni's struggle to get going towards the end overs proved to be a worrying concern for the visitors.
However, Rohit continued his flow of runs and brought up his century in the 36th over after he got a lucky escape batting on 96 being dropped by Tabraiz Shamsi.
Indian captain and batting kingpin, Virat Kohli strode to the wicket with his side on 47/1 in the 8th over.
At the toss, Kohli had mentioned that the batsmen would have to make quick calls on what an ideal target would be.
Meanwhile, the likes of Hardik Pandya have failed to live up the promise they had shown in home conditions.
It did have a negative influence on how the Indian innings progressed from there because the momentum they had maintained in reaching 176 for two in 32nd over slowly subsided as wickets fell. At 65 for 3 in the 13th over with their main batsman gone, South Africa's task looked steep.