Vernon Philander rocked England with a double strike late on the fourth day as South Africa cemented their grip on the third Test at Lord's on Sunday.
The seamer removed both England openers during a dramatic spell of two wickets for one run in 10 balls. (Scorecard)
And that left the Proteas, 1-0 up in three-match series, on the brink of replacing England as the world's number one Test side.
At stumps England were 16 for two, needing a further 330 runs in a minimum 90 overs on Monday's final day to reach what would be a new record victory total of 346.
The most England have ever made in the fourth innings to win a Test is the 332 for seven they posted against Australia at Melbourne back in 1928/29.
Jonathan Trott was six not out and Ian Bell four not out at the close.
Philander, with just his second ball Sunday, had Alastair Cook lbw for three.
And he then dismissed Cook's fellow left-hander Andrew Strauss when the England captain, playing his 100th Test and on his Lord's home ground, shouldered arms to an inswinger and was plumb lbw for one.
England, without Kevin Pietersen after they dropped the star batsman for this match despite his 149 in the drawn second Test at Headingley because of text messaages he'd sent to South African players allegedly containing critcisms of Strauss, were six for two at that stage.
Earlier, Hashim Amla's composed 121 was the cornerstone of South Africa's second innings 351.
Amla, whose South African record 311 not out at The Oval propelled the tourists to victory in the first Test, resumed on 57 not out and didn't score a boundary in Sunday's morning session as he advanced to 94.
But after the interval Amla, who on Saturday survived a tough chance on two when wicket-keeper Matt Prior dropped him down the legside, late cut medium-pacer Trott for the ninth boundary of his innings to complete his 16th Test century and fourth against England off 182 balls.
However, the elegant Amla fell when fast bowler Steven Finn, with the new ball, bowled him with a fine delivery that went up the slope.
Amla's innings lasted just short of five hours and together with AB de Villiers (43) he put on 95 for the fifth wicket.
Finn then made it two wickets for five runs in 12 balls when he had de Villiers caught by Strauss at first slip for 43.
That dismissal saw Strauss break the England record for most Test catches by an outfielder of 120 he'd previously shared with Colin Cowdrey and Ian Botham.
Finn finished with innings figures of four for 74 for a match haul of eight for 149.
But South Africa's tail wagged with Philander, having a fine all-round match, making 35 to add to his Test-best 61 in the first innings.