England's bowlers were rewarded for their perseverance to peg South Africa back after AB de Villiers won his first toss as skipper on the opening day of the third Test at the Wanderers in Johannesburg.
The unchanged tourists, knowing a win here would secure the series, had initially struggled to take advantage of favourable seam-bowling conditions as a second-wicket partnership of 73 between Dean Elgar and Hashim Amla took the Proteas' score to 117 for one.
But England tightened up their lines and lengths after lunch and were rewarded with seven wickets, five of which arrived in the over after skipper Alastair Cook made an inspirational bowling change.
Steven Finn and Ben Stokes claimed two scalps apiece, removing former skipper Amla and his successor AB de Villiers, while Moeen Ali and Stuart Broad also struck.
England were also given a helping hand by their hosts with four batsmen producing poor shots and Temba Bavuma superbly run out by Jonny Bairstow, who also claimed four catches in an impressive display behind the stumps.
They struggled to take wickets with the new ball at both ends of the day, though, Chris Morris and Kagiso Rabada playing and missing several times against the second fresh cherry as their side closed on 267 for seven.
South Africa's day started in chaotic fashion when Dane Vilas was forced to make a late 550-mile dash from Port Elizabeth as a replacement for knee-injury victim Quinton de Kock, but Elgar and Stiaan van Zyl soon brought calm to the situation.
England's new-ball pairing of Broad and James Anderson struggled to utilise overcast conditions, like they have done so successfully in the past, as Elgar and Van Zyl shared a 44-run opening stand.
It took 18 overs to make the first breakthrough, after the bowlers struggled locating a fuller length, with out-of-form Van Zyl caught in two minds about pulling Stokes' third ball and looping a top edge to Bairstow to depart for 21.
The gutsy Elgar and Amla, in his first innings since relinquishing the captaincy, then frustrated the England attack further.
However, the tourists improved in the afternoon session and removed both set batsmen for 10 runs in the space of four overs.
Moeen struck two balls after drinks, finding turn from round the wicket and locating Elgar's edge, before Amla could only nick a brilliant Finn delivery that shaped away during a fine spell from the paceman.
Amla had advanced to 40 but not without his fair share of luck, surviving a marginal lbw appeal that left Stokes frustrated and almost playing on twice.
De Villiers, averaging 78.85 in last five Tests at the Wanderers, had stamped his authority on proceedings by advancing down the track and hitting two of his first three balls for four off Moeen, who then saw the sixth delivery of the evening session carted for six by the captain.
But De Villiers' aggression proved to his downfall as he gloved an attempted hook shot off Stokes behind to go for 36 off 40 balls, the start of a reckless period for the Proteas.
Faf du Plessis clipped Finn straight down the throat of Alex Hales, fit after a virus, at deep square-leg before Vilas ran out Bavuma.
Vilas set off for a single that Bavuma did not fancy and Bairstow sprinted to the stumps to collect substitute Chris Woakes' throw from mid-on and whip off the bails.
Vilas, fresh from a domestic double-ton, then hooked a Broad bouncer to Moeen at deep square-leg.
England's hopes of making further in-roads in nine overs with the second new ball were then halted by Morris and Rabada's streaky unbroken alliance of 42.
England return to Cardiff this year for two One-Day Internationals as Glamorgan host the final games of both the Sri Lanka and Pakistan Royal London Series at The SSE SWALEC. Adult tickets are priced from £35, juniors £10, and a family ticket only £80. Click here for tickets and further details