Stokes puts England on brink
England will return on the final day of The Oval's 100th Test in pursuit of six more South Africa wickets to take a 2-1 lead in the Investec series.
The hosts set their visitors a notional, world-record 492 to win in four sessions after half-centuries from Tom Westley, Joe Root and Jonny Bairstow in their 313 for eight declared.
First-innings centurion Ben Stokes then restated his huge value with the ball too, by taking two wickets in two balls, as South Africa faltered to 52 for four before Dean Elgar (72 not out) and Temba Bavuma demonstrated the hint of a lasting rearguard in an unbroken stand of 65 on the way to 117 for four at stumps.
It is nonetheless a long shot that South Africa could somehow prevent a home victory here, with only the fourth Test to come at Old Trafford.
Debutant Westley's was the most notable of England's fifties.
They had to dig in as South Africa bowled tightly, and partial cloud cover meant batting remained an awkward occupation as it has been throughout this match.
But Westley (59), Root (50) and Bairstow (63) were able to help present the home attack with a minimum 138 scheduled overs in which to force the endgame.
After 18 of them, they appeared to be on the fast track.
Opener Heino Kuhn is still searching for a first significant score after his three Tests, this time bowled off-stump when Stuart Broad got one to nip back and defeat his defence.
England struck another big blow when Toby Roland-Jones continued his fine debut by seeing off Hashim Amla for the second time in the match, for just five to add to his first-innings six - an aggregate of exactly 300 fewer than he made on his last record-breaking Test visit to this ground five years ago.
Amla fell to a neat catch at second slip by Root, having tried to take the bat away.
Quinton de Kock could not interrupt the unstoppable force, bowled off his pads by a yorker from Stokes - who immediately followed up when Faf du Plessis was lbw for a golden duck, playing no shot as in the first innings.
Three wickets had gone for five runs in eight balls, and England had a further 23 overs - 31 with the extra half-hour - to complete a four-day win.
Only opener Elgar, dropped by Keaton Jennings at third slip off James Anderson on nine, appeared to be sticking around.
But en route to a 77-ball fifty, he found a like-minded ally in Bavuma - the batsman who had stood in England's longer than the rest with a half-century first time round.
In the hosts' second innings, no one worked harder than number three Westley, who shared a stand of 62 with Keaton Jennings and then - during a partnership of 78 with Root - reached 50 at his second attempt in Test cricket when he clipped Morne Morkel past midwicket for his ninth four from the 119th ball he faced.
His second-wicket partner Jennings needed none of the good fortune he had relied upon the previous day, after England resumed on 74 for one.
The left-hander was assured in defence and middled the ball in measured attack too until - only two short of his half-century - he finally got a ball with his name on it.
Kagiso Rabada found alarming bounce to have the opener helplessly splicing a simple catch to gully.
Westley's struggle brought him just nine runs from 54 balls in 85 minutes, while 47 were scored at the other end.
But he did not panic - and after Root took 13 deliveries to open his account, the captain was soon batting fluently.
Both were rewarded with fifties, Root reaching his from 91 balls shortly after Westley was stumped trying to take the attack to Keshav Maharaj (three for 50).
The slow left-armer struck in successive overs, Root mistiming a sweep into the hands of deep square-leg.
Dawid Malan fell lbw on DRS for 10 to a good ball from Chris Morris that jagged back into him off the pitch.
Stokes then huffed and puffed, but the desired quick runs did not really come until Bairstow got himself in too.