South Africa fast bowlers Makhaya Ntini and Charl Langeveldt claimed nine wickets between them as England collapsed to 163 all out before lunch on the third day of the third Test yesterday.
England lost six wickets for 68 runs in the morning to concede a 278-run first-innings deficit before the home side opted to bat again rather than enforce the follow-on.
Debutant Langeveldt, who bowled with his fractured left hand in a compression bandage, took five for 46 from 16 overs.
Langeveldt sustained his injury while batting on Monday and is expected to miss the remaining two matches in the series.
Ntini took four for 50 from 19 overs.
England had resumed on 95 for four, and lost their fifth wicket in the seventh over of the day when nightwatchman Matthew Hoggard, who scored one, edged Ntini to Graeme Smith at first slip.
In his next over all-rounder Andrew Flintoff lazily cut straight to Herschelle Gibbs at backward point to go for 12.
England were soon 128 for seven when wicketkeeper Geraint Jones steered a ball from Langeveldt to Smith at first slip.
Graham Thorpe, who was six not overnight, labored to 12 off 65 balls before flicking a Langeveldt delivery straight to Jacques Rudolph at square leg.
Simon Jones was bowled off the toe of his bat by Langeveldt for nought and the innings ended when Stephen Harmison edged a ball from Langeveldt to Smith at slip without scoring.
The South African bowlers found bounce to trouble the batsmen throughout the session although the pitch was blameless.
Fast bowler Shaun Pollock did not take a wicket, but bowled tightly to concede eight runs from six overs.
Jacques Kallis scored his 19th Test century to inspire South Africa's bowlers on Monday.
Kallis scored 149 in South Africa's 441, their highest first-innings total of the series so far.
Kallis batted for more than eight hours, faced 334 balls and hitting 11 fours. Fast bowler Andrew Flintoff took four for 79 for England.
Andrew Strauss scored 45 in England's reply to reach the 1,000-run milestone in only his 10th Test match.
South Africa resumed on 247 for four, and were immediately put under pressure by accurate, probing spells from fast bowlers Steve Harmison and Matthew Hoggard.
The fifth wicket fell in the sixth over of the day when umpire Daryl Harper harshly gave Hashim Amla out lbw to Hoggard for 25.
Television replays showed the ball would have passed over the stumps.
Kallis went to his century in the 13th over when he took three runs to mid-wicket off fast bowler Simon Jones.
But England struck back seven overs later when AB de Villiers took a swipe at a full, leg-side delivery from left-arm spinner Ashley Giles and was bowled for 21.
Eleven balls after that Shaun Pollock was caught behind for four by wicketkeeper Geraint Jones off fast bowler Andrew Flintoff as South Africa slumped to 337 for seven.
England failed to take another wicket until four overs before tea as Kallis and Nicky Boje set about building their eighth-wicket partnership of 104.
It was ended when Kallis hung his bat out to a delivery from Flintoff and was caught behind by Jones.
Marcus Trescothick and Strauss shared 52 for England's first wicket before Trescothick, who scored 28, attempted to cut a ball from fast bowler Ntini and was caught by Herschelle Gibbs at backward point.
Four overs later Robert Key hooked wildly at a bouncer from fast bowler Shaun Pollock and was caught behind by wicketkeeper De Villiers for nought.