South Africa captain Faf Du Plessis hit a battling half century but could not stop a steady stream of wickets falling to India on day three of the second Test on Saturday.
The Proteas were 136 for six at lunch in response to India's 601-5 declared, with Du Plessis on 52 and Senuran Muthusamy on six. They need another 266 runs to avoid the follow on.South Africa resumed on 36-3 and Indian paceman Mohammed Shami struck early to remove nightwatchman Anrich Nortje for three when the batsman edged a delivery to Virat Kohli at fourth slip.
Theunis de Bruyn was caught behind off Umesh Yadav for 30 as the tourists slipped to 53 for five.
Wicketkeeper-batsman Quinton de Kock put on a 75-run fourth wicket stand with du Plessis to offer some resistance to the Indian bowling before Ravichandran Ashwin's off spin bowled him for 31 with.
Yadav, who took down the South African openers on day two, claimed three wickets while Shami took two.
Kohli hit a career-best 254 not out as he surpassed Don Bradman's Test tally of 6,996 runs on Friday to consolidate India's stronghold after they elected to bat first.
A victory for India, who won the first of the three Tests on Sunday, will see them beat the record of 10 straight home series wins they share with Australia.