England were set a target of 130 to win the third Test against South Africa, and with it the series, at The Oval on Sunday.
South Africa were dismissed for 169 -- the highest total so far of a low-scoring match - in their second innings on the fourth day, with no Proteas batsman making more than captain Dean Elgar's 36.
England skipper Ben Stokes led the hosts' attack with 3-39, while Stuart Broad took 3-45.
Ollie Robinson's return of 2-40 in 15 overs meant the Sussex seamer had taken 51 wickets in his 11 career Tests at a miserly average of 19.80.
Only one England bowler since the end of the Second World War has taken more wickets at a better average –- express quick Frank Tyson, whose 76 Test wickets cost just 18.56 apiece.
Victory would mean England had won six of their seven Tests since a new leadership duo of Stokes and coach Brendon McCullum took charge at the start of this season.
The climax to a three-Test series, currently level at 1-1, has effectively been reduced to a three-day game.
Earlier at lunch, South Africa captain Dean Elgar led from the front as the tourists built a slender lead.
The Proteas were 70-1 in their second innings, 30 runs ahead, at lunch on the fourth day of this curtailed match.
Elgar, South Africa's most experienced batsman, was 35 not out and Keegan Petersen was unbeaten on seven after England captain Ben Stokes struck with just his third delivery of the match to remove Sarel Erwee.
In a three-match series level at 1-1, South Africa have so far managed just one individual fifty -- Erwee's 73 in their innings and 12-run win in the first Test at Lord's.
But in the 35-year-old Elgar they have a batsman who has scored nearly 5,000 runs in 79 Tests, including 13 hundreds, at an average just shy of 40.
That experience was on display as he took advantage of anything short and wide, rather than risk a drive that might have led to an edge to a packed slip cordon, while twice cutting Anderson for four through a vacant point region.
Erwee made 26 during a sound opening stand of 58 with his skipper as the sun started to shine in south London.
But Erwee was undone when paceman Stokes brought him forward with a ball that swung late to find the outside edge. Joe Root, diving forward at first slip, held a fine catch.
Earlier, Marco Jansen took 5-35 in 12.2 overs, his maiden five-wicket haul in Test cricket, as South Africa restricted England to a first-innings lead of 40 runs.
England, resuming on their overnight 154-7, lost their last three wickets in 16 legal balls for the addition of just four runs. They were dismissed for 158 in reply to South Africa's 118.
Fast bowler Kagiso Rabada, who struck twice on Sunday to remove tailenders Ollie Robinson and Jack Leach, took 4-81 in 13 overs.
Jansen had been unlucky to be dropped from the South Africa side that lost the second Test by an innings and 85 runs at Old Trafford.
But at the Oval he has led the way for the Proteas, top-scoring with 30 in their meagre first innings before starring with the ball.