India's inexplicable middle-order collapse ensured that fine half-centuries from Shikhar Dhawan and Virat Kohli did not count for much as the team was handed a 31-run defeat by a resolute South Africa in the opening ODI at Boland Park, Paarl on Wednesday.
Chasing a challenging 297, India were cruising at 138 for one before wickets fell in a heap dashing the hopes of the visitors who trail 0-1 in the three-match series. India's innings ended at 265 for eight.
South Africa skipper Temba Bavuma (110 off 143) and Rassie van der Dussen (129 not out off 96) had scored contrasting hundreds en route to their 204-run stand to take South Africa to 296 for four after opting to bat.
India were comfortably placed to get home when Kohli (51 off 63) and Dhawan (79 off 84) were in the middle but it all came crashing down with the end of their 92-run stand.
India have been guilty of relying too much on their top three in the past and once again, the middle-order could not capitalise on the platform provided by Kohli and Dhawan after they lost skipper K L Rahul (12) cheaply.
Chase master Kohli, playing his first game since his captaincy tenure ended across formats last weel, hardly broke a sweat in reaching his half-century before a sweep shot off Tabraiz Shami, a stroke he doesn't play regularly, led to his downfall leaving him in disbelief.
Dhawan looked in sublime touch during his stay and played the Test series' rising star Marco Jansen rather comfortably, collecting five of his 10 fours off the tall left-arm pacer.
The stage was set for the likes of Rishabh Pant (16), Shreyas Iyer (17) and debutant Venkatesh Iyer (2) to get the job done but they fell in quick succession, leaving India at 188 for six from a strong 138 for one.
While Pant was stumped by a lightening quick Quinton de Kock, the shot selection of Shreyas and Venkatesh could have been better.
Shardul Thakur (50 not out off 43) tried his best towards the end but the damage had already been done.
Earlier, Jasprit Bumrah (2/48) was the stand out bowler for India in an otherwise ordinary bowling effort.
After a sluggish start, van der Dussen and Bavuma shared the second highest partnership ever against India in ODIs to ensure a competitive total for the home team.
South Africa opted to bat on a slow surface at the Boland Park. The white ball did a bit early on with both Bumrah and Bhuvneshwar Kumar getting to move it off the pitch as well as in the air.
After an inaccurate first over, the usually accurate Bumrah got his act together and had opener Janneman Malan (6) caught behind with an outswinger. Expecting an incoming ball, Malan was caught on the crease with his loose push taking the outside edge.
South Africa struggled to 39 for one in 10 overs with Indian bowlers restricting the flow of runs.
De Kock (27 off 41), playing his first game since announcing his Test retirement, and Bavuma found the going tough with the ball not coming on to the bat.
De Kock perished while trying to break the shackles. Ashwin, featuring in his first ODI since June 2017, found de Kock's stumps with a slider as the opener went for a cut shot.
It became 68 for three in the 18th over when Aiden Markram got run out from a direct hit by Venkatesh after he went for a single that was not for the taking.
At that stage, it seemed South Africa would find it tough to get past 200 but a fighting stand between Van der Dussen and Bavuma changed the course of the innings.
Indian bowlers looked rather ordinary in the middle overs with the well-set South African pair rotating strike regularly besides picking up an odd boundary.
Van der Dussen was the aggressor in the partnership from the word go as Bavuma played anchor.
Van der Dussen used the reverse sweep for four runs off Yuzvendra Chahal to put the leg spinner under pressure before using the conventional sweep twice to collect more boundaries.
He later used a free hit to smash a Shardul full toss for a six as South Africa's innings found much needed momentum.
Two pick up shots on one knee for six over deep backward square were the highlight of van der Dussen's entertaining knock. He ended with nine four and four sixes.
Bavuma was happy picking singles at the other end while anything loose on offer was put away behind the ropes.
The skipper got his hundred in the 45th over while his batting partner achieved the milestone in 48th over. It was the second ODI hundred for both the batters.
The last over bowled by Thakur went for 17 runs, taking the hosts close to 300. Thakur was the most expensive bowler, bleeding 72 in his quota of 10 overs. Venkatesh was not used as the sixth bowling option.