Skipper Joe Root scored a counter-attacking 78 but he failed to find any support as England conceded 130-run lead in the first innings.
Nottingham: South Africa took a firm grip on the second test at Trent Bridge after a see-saw second day in which 15 wickets tumbled and the fragility of England's fragile top-order batting was brutally exposed on Saturday.
The touring side reached 75-1 in their second innings at the close, a lead of 205, with Dean Elgar (38 not out) and Hashim Amla (23 not out) bringing some order to the final hour and ensuring their team are well-placed to force the victory that would level the four-match series at 1-1.
South Africa began the day on 309-6 in their first innings and from the first over, in which James Anderson claimed the wicket of Vernon Philander, the bowlers had the edge underneath grey skies on a pitch that responded to seam and spin.
Anderson mopped up the tail with a devastating spell of 4-4 in little more than half-an-hour to dismiss South Africa for 335.
But South Africa's attack proved equally potent, with seamer Chris Morris and spinner Keshav Maharaj picking up three wickets apiece.
Only Joe Root provided real resistance, rallying his side after Philander and Morne Morkel removed both openers to reduce England to 3-2.
England's captain is never inclined to sit back and let the bowlers dominate and he responded with an impressive counter-attack to hit 78.
But just when Root looked in sight of a third successive test century at Trent Bridge, he fell to a loose shot off Morkel that gave keeper Quinton de Kock one of his four catches.
Gary Ballance (27) had helped him add 83 for the third wicket before Philander forced him to inside edge the ball on to his stumps just after lunch.
After Ben Stokes departed cheaply, Jonny Bairstow (45) took England in sight of 200 before falling to a wonderful delivery from Maharaj which pitched on middle and took out off stump.
Moeen Ali failed to reproduce his batting from Lord's and was caught in the covers for 18 off Morris, who trapped Stuart Broad lbw next ball.
By the time Morris finished off the innings on 205, having Mark Wood caught in the slips fending off a short ball, 14 wickets had fallen for just 231 runs.
There was one more to come when Anderson drew an edge from Heino Kuhn and Root took a fine low catch at slip.
The Lancashire paceman was on a high after his five first-innings wickets - the seventh time he had reached the landmark in nine tests at Trent Bridge - but watchful batting extended South Africa's lead.