AB de Villiers scored a brisk half-century on day one of his 100th Test but spin duo Ravichandran Ashwin and Ravindra Jadeja ripped through South Africa as India took charge in Bangalore.
Ashwin and Jadeja took eight wickets apiece to consign the Proteas to defeat in Mohali last week and benefited from poor batting at the M Chinnaswamy Stadium on Saturday, with the tourists bowled out for 214.
Virat Kohli opted to put South Africa in after winning the toss and it was Ashwin (4-70) and Jadeja (4-50) who did the damage once again as De Villiers (85) was the only South Africa batsman to pass 50.
The out-of-sorts Shikhar Dhawan (45 not out) and Murali Vijay (28) - given a life when he was dropped by Imran Tahir - then saw India through to 80 without loss at the close to leave injury hit South Africa up against it.
Ishant Sharma was recalled at the expense of Umesh Yadav after missing the first Test due to suspension and was handed the new ball along with Stuart Binny, but it was Ashwin who made the breakthrough.
The off-spinner was introduced in only the seventh over and needed just two balls to trap Stiaan van Zyl (10) leg before wicket, then got rid of Faf du Plessis for a duck three balls later in a dream first over.
Captain Hashim Amla (7) lost his off-stump to a sharp delivery from Varun Aaron (1-51) as the Proteas were reduced to 78-3 at lunch.
Dean Elgar (38) was struck on the glove attempting to sweep Jadeja and trudged off after the ball rolled back to hit the stumps and the returning JP Duminy (15) then became Ashwin's third victim.
De Villiers - given a great reception when he came out to bat - showed his class as wickets tumbled at the other end, punishing any loose deliveries with some stylish strokes as he looked destined for another century.
But wicketkeeper Wriddhiman Saha dived full length to catch him off the bowling Jadeja on the stroke of tea and although Morne Morkel (22) added a few late runs, South Africa's innings ended after just 59 overs.
Morkel and Kyle Abbott were given the new ball in the absence of the injured Dale Steyn and Vernon Philander, but were unable to make a breakthrough before stumps.
Vijay had a huge stroke of luck when Tahir spilled a simple catch at square leg off the bowling of Morkel and that about summed up South Africa's day.