South Africa hit back on day two of the second Test in Durban, as they dismissed India for 334.
The tourists, who resumed on 181-1 after a curtailed opening day, had few answers to Dale Steyn, who picked up 6-100.
It was a 22nd five-wicket haul in Test cricket for Steyn, who has recently slipped below team-mate Vernon Philander as the top ranked bowler in the world.
The Proteas finished 82-0 in their reply, with Alviro Petersen and Graeme Smith making a quick start at Kingsmead.
After the morning session was washed out because of rain, Steyn made an immediate impact, as he picked up three victims in his opening four overs.
Cheteshwar Pujara, who resumed on 58, only added 12 to his overnight score when he edged behind to AB de Villiers.
That ended a 157-run partnership for the second wicket, with Murali Vijay, who departed in identical fashion, just three runs short of a fourth Test century.
Rohit Sharma went from the very next ball, as he shouldered arms to a Steyn in-swinger, to suffer an embarrassing golden duck.
India were suddenly in trouble at 199-4, but Virat Kohli (46) and Ajinkya Rahane (51 not out) steadied the ship.
Morne Morkel had Kohli caught behind before visiting captain MS Dhoni was caught by opposite number Smith at first slip off Steyn.
That was the first of five Indian wickets to fall for 14 runs in 4.5 overs, as Steyn also had Zaheer Khan and Ishant Sharma caught behind with de Villiers claiming five catches.