England are on course to secure a series victory in South Africa after the hosts' problems with the bat continued on day two of the fourth and final Test in Johannesburg.
The tourists resumed on 192-4 with captain Joe Root and Ollie Pope each well set at the crease but, though they both reached their half-centuries, Anrich Nortje's first Test five-for had England looking at a relatively underwhelming first-innings total.
Nortje's brilliance and some poor shot selection from England had Root's men 318-9, but Mark Wood and Stuart Broad mounted an unlikely fightback as they shared the highest 10th-wicket partnership at the Wanderers.
Their 82 helped England to 400 all out, a total South Africa appear destined to fall well short of after Wood claimed 3-21 to reduce the Proteas to 88-6 at stumps.
After following on in the third Test in Port Elizabeth, South Africa are in very real danger of having to do the same in the series finale, with 12 wickets falling in the day.
Such dominance by the ball looked a slim prospect when Root and Pope stretched a partnership worth 35 at the close on Friday to 101, their respective fifties reward for an aggressive start to the day.
However, Pope chopped on to his stumps trying to leave one from Nortje (5-110) as he departed for 56, with Root soon following him for 59 after edging the same bowler behind.
Sam Curran then paid the price for chasing a wide delivery to put Nortje on a hat-trick. Chris Woakes (32) survived the hat-trick ball and stemmed the tide alongside Jos Buttler, that pair holding firm until lunch.
Yet Buttler (20) hacked Vernon Philander, playing his final Test, to Dean Elgar in the covers after the resumption and Woakes became Nortje's fifth victim when he stabbed to second slip.
South Africa were unable to wrap up the tail quickly, however, and were instead frustrated by an incredible stand between Wood and Broad, who took the fight back to the hosts in some style and needed just 27 balls to bring up the 50 partnership.
Wood, fresh off his 42 in the third Test, hit three sixes in his unbeaten 35, while Broad struck four maximums in his 43, which was ended when he skied Dane Paterson to Pieter Malan to finally bring the innings to a close.
That last wicket was barely celebrated and South Africa's response provided little for the home fans to cheer.
Malan was the first to fall to Wood with 29 on the board as he was done for pace by the seamer, edging into Buttler's gloves, before Rassie van der Dussen went for a duck when Ben Stokes snared a fine catch off Sam Curran.
A dreadful shot from Elgar saw him flash Stokes to Woakes, who trapped Du Plessis lbw for three. The under-pressure South Africa captain is without a Test fifty in his last 10 innings.
Quinton de Kock reached stumps unbeaten on 32 but excellent catches from Stokes and Joe Denly gave Wood the wickets of Temba Bavuma and Nortje, the latter's dismissal proving the final ball of another dismal day for South Africa.