Yuzvendra Chahal bamboozled the batsmen with his leg spin as he grabbed four wickets for 51 runs, while fellow spinner Kuldeep Yadav chipped in with a wicket.
India's gamble in playing two spinners in their opening World Cup match against South Africa proved to be masterstroke as the bowlers spurred them to victory on Wednesday, captain Virat Kohli said.
The Indians, who are chasing their third World Cup title, condemned the South Africans to their third successive loss in the tournament after Yuzvendra Chahal bamboozled the batsmen with his leg spin as he grabbed four wickets for 51 runs, while fellow spinner Kuldeep Yadav chipped in with a wicket.
India coasted to a solid, if unspectacular, six-wicket victory with 15 balls remaining after opener Rohit Sharma carried his bat to score an unbeaten 122.
VIDEO: International Cricket Council
"Picking the two spinners were a massive factor for us," Kohli told a news conference.
"The last time we played them, they were trying to hit boundaries rather than take singles and as a captain I will take that any day as there is more of a risk factor in such strokes."
The spin duo picked up the baton after Jasprit Bumrah gave the Indians a great start by dismissing South African openers Hashim Amla and Quinton de Kock inside six overs with a devastating spell of swing bowling.
"Obviously, Bumrah is bowling at a different level and Chahal as a youngster never refuses to take the ball in any condition," added Kohli.
With South Africa restricted to 227-9 from their 50 overs on a batting-friendly wicket, India knew they did not have to take many risks to get the win on the board.
Kohli also rated Sharma's century as the best the opener has scored among the 23 tons he has notched up so far in his career.
Sharma, who got off to a nervous start with a couple of half chances, stroked 122 runs off 144 balls, peppered with 13 boundaries and two sixes.
"Some of the balls were bouncing around and there is always the temptation to hit yourself out of trouble but he brilliantly controlled his innings and held up one end and we never thought he was going to throw his wicket away," Kohli said.
India travel to the Oval in London on Sunday to face Australia in their next game.