Opener Yashasvi Jaiswal made a fluent 58 but India slumped to 102 for four at tea in reply to South Africa's first innings 489 on day three of the second test in Guwahati on Monday.
South Africa's attack claimed four wickets in one session at the Barsapara Cricket Stadium, and with India still trailing by 387 runs the visitors are in a strong position to go on and secure a 2-0 series sweep.
Rishabh Pant, leading India in the absence of injured captain Shubman Gill, was batting on six at the tea break with Ravindra Jadeja yet to open his account at the other end.
After losing in Kolkata inside three days, India began cautiously on a wicket described as a "road" by their spinner Kuldeep Yadav because of a lack of assistance for the bowlers.
KL Rahul (22) looked compact in his defence while his opening partner Jaiswal was more fluent at the other end, often employing the sweep shot to counter the spinners.
Keshav Maharaj broke the 65-run opening stand an hour into play when Rahul lunged forward to defend a ball but was done for by the extra bounce. The ball hit the shoulder of his bat before nestling into Aiden Markram's hands at slip.
Jaiswal took two off Simon Harmer's bowling to bring up the first fifty by an India batter in the series but his knock did not last much longer.
The lefthander was surprised by the slowness of the track and spooned a Harmer delivery towards backward point where it would have landed short of most players but not the 2.06m tall Marco Jansen, who dived forward to pouch the ball.
Harmer claimed a second wicket when Sai Sudharsan pulled the ball to Ryan Rickelton at mid-wicket.
Worse was to come for India when Jansen bounced out Dhruv Jurel for an 11-ball duck in the next over.
Pant hit the second ball he faced over bowler Harmer's head for a huge six but the lefthander will have to produce something extraordinary to drag India back into the contest.

Messi stars as Miami blanks Cincinnati, reaches 1st East final
Berrettini, Cobolli lead Italy past Spain for third straight Davis Cup title
Real Madrid salvage thrilling late 2-2 draw at Elche
Lionel Messi stars as Miami blanks Cincinnati, reaches 1st East final
Rahul to captain India in Gill's absence
