India cantered to a record 11th home Test series win in a row after hammering South Africa by an innings and 137 runs in Pune.
Virat Kohli's men are two up with one to play - they crushed the tourists by 203 runs in the opener in Visakhapatnam - after skittling the Proteas for 189 in Kohli's 50th Test as skipper and subsequently topping Australia's record of 10 straight series victories on home soil.
India did not announce the previous evening whether they would immediately reinsert South Africa after dismissing them for 275 to lead by 326 on first innings having posted a mammoth 601-5 declared.
But Kohli did enforce the follow on ahead of day four and Aiden Markam was promptly out lbw to Ishant Sharma for a second-ball duck as he bagged a pair amid South Africa sinking to 79-5.
Ravichandran Ashwin, who bagged 4-69 in the first innings, also struck twice, removing opposition skipper Faf du Plessis for a painstaking five from 54 balls and the more fluent Dean Elgar for 48.
Elgar and Du Plessis' third-wicket stand was worth 49 but when Du Plessis was caught behind by wicketkeeper Wriddhiman Saha after inside-edging onto his pad, South Africa went on to lose three wickets for nine runs.
Temba Bavuma dug in, adding 38 before he was pouched brilliantly by Ajinkya Rahane at slip, but with Quinton de Kock (5) and Senuran Muthusamy (9) out for single figures, the tourists tumbled to 129-7.
Vernon Philander (37) and Keshav Maharaj (22) delayed India - as they did in the first innings when they put on 109 for the ninth wicket - but the tourists ended their 56-run stand after tea when Umesh Yadav (3-22) had Philander caught down the leg side by Saha.
India then swiftly claimed the final two wickets - Maharaj last man out, to Ravindra Jadeja (3-52) - and will now head to the third Test in Ranchi, which starts on Friday, looking for a 3-0 series sweep.
South Africa will be without Maharaj for that match with the shoulder injury the spinner sustained while fielding on day two in Pune to rule him out for an estimated two to three weeks - uncapped left-arm spinner George Linde has been called up in Maharaj's place.