England ended Quinton de Kock's resistance and South Africa fell to 183 all out in reply to the tourists' 400 on the third day of the series-deciding final test at the Wanderers on Sunday.
De Kock was out for 76 just before lunch, bowled by Mark Wood. That was the second wicket of a triple blow by England late in the day's opening session.
Ben Stokes came into the attack to break a 79-run stand between de Kock and Dwaine Pretorius in the previous over. Stokes forced Pretorius out for 37 to a catch by Zak Crawley in the gully.
Wood bowled de Kock next over and removed last man Dane Paterson two overs later for a five-wicket haul.
Wood finished with 5-46 and England can enforce the follow on and push for a second straight victory by an innings. South Africa is 217 runs behind.
England leads the four-match series 2-1 and is on course to clinch it convincingly in Johannesburg.
South Africa resumed on 88-6 and lost Vernon Philander for 4 early on.
De Kock and Pretorius only held up England temporarily. Stokes had 2-47 and Chris Woakes 2-38 on his recall to the England team.
More AP sports: https://apnews.com/apf-sports and https://twitter.com/AP_Sports