England hold the upper hand ahead of Day five as South Africa are four down in their chase of 492.
London: England ripped apart South Africa's top order in Sunday's final session at the Oval to bear down on a victory that would put them 2-1 up with one to play in the four-Test series.
Two wickets from successive balls in Ben Stokes' third over removed Quinton de Kock (5) and Faf du Plessis (0) and ended faint South Africa hopes of mounting a rearguard action in pursuit of their nominal target of 492.
Although Stokes failed to record what would have been the first-ever test hat-trick at the Oval, the damage was done. Du Plessis' wicket, lbw without playing a shot to a first-ball inswinger, was a particular blow, with South Africa needing their captain to survive at least into Monday.
The tourists limped to the close on 117-4, still 375 short of their target with a day's play remaining.
The battling Dean Elgar was unbeaten on 72 despite a painful blow to his finger, and Temba Bavuma on 16, as England turned to Moeen Ali to try to secure another breakthrough.
Elgar had been fortunate to survive on nine, dropped by Keaton Jennings at third slip off Jimmy Anderson, and went on to strike seven fours in his 77-ball half-century.
No one else provided much resistance. Before Stokes struck, Stuart Broad removed opener Heino Kuhn for 11 and Toby Roland-Jones dismissed Hashim Amla for the second time in the match, this time having South Africa's danger man sharply caught by Joe Root in the slips for five.
England have a further 98 overs available on Monday to complete the victory and vindicate Root's decision to delay his declaration to apply maximum pressure to South Africa.
England's new captain eventually called time when Jonny Bairstow was dismissed before tea after a breezy 63 which lifted England, who had resumed on 74-1, to 313-8.
Westley went on to make 59 before he was stumped misjudging a dash at Keshav Maharaj. Root (50) followed soon afterwards, top-edging the same bowler after recording a half-century for the ninth successive match.
England gradually accelerated with Stokes (31) and Roland-Jones (23 not out) joining Bairstow in some lusty blows as England's lead extended way beyond the test record for a successful final innings run chase of 418.
If South Africa fail to survive on Monday, it will complete a one-sided sequence in each of the tests. England won by 211 runs at Lord's before South Africa hit back with an even more emphatic 340-run victory at Trent Bridge.
The final Test starts in Manchester on Friday, August 4.