Spinner Nicky Boje and seamer Shaun Pollock took four wickets each as South Africa crushed England by 196 runs on the final afternoon of the third Test to level the series.
England, unbeaten for more than a year but set an unlikely 501 to win in just over five sessions, were dismissed for 304.
Left-arm spinner Boje, who missed the first Test after having surgery on a cancerous thyroid gland, took four for 71 from 34 overs, while metronomic fast bowler Pollock picked up four for 65 from 31 overs as the home side dominated in all departments.
England number 11 Steve Harmison showed up his team mates by top-scoring with a run-a-ball 42 and putting on 51 for the last wicket with Matthew Hoggard.
England's batsmen, however, effectively lost the game in the first innings when they were skittled for 163 on a blameless track.
"South Africa played the better cricket over the five day and put us under a lot of pressure," England skipper Michael Vaughan said.
"We were below par here but there are still two big games to go. Our batting is a concern but we go to Johannesburg looking to win the series."
"We bowled superbly in this Test match," delighted South Africa captain Graeme Smith responded.
The series now stands at 1-1. England won 11 of 13 tests in 2004, drawing the other two. Their last defeat was against Sri Lanka in Colombo in December 2003.
They had resumed on 151 for five and soon lost their last specialist batsman when South Africa took the new ball in the fourth over.
Pollock drifted a delivery into the left-handed Graham Thorpe which left after pitching and was edged to wicketkeeper AB de Villiers. Thorpe made 26.
Wicketkeeper Geraint Jones and Ashley Giles kept South Africa at bay for almost an hour and a half with a stand of 62 but they were parted 15 balls before lunch when Boje had Giles caught by Jacques Kallis at first slip for 25 with a classic delivery.
Two balls before lunch Kallis dived to his left to take a brilliant one-handed catch in the same position to dismiss Jones for 38.
Hoggard and Simon Jones survived until the ninth over after lunch, when Jones, on 19, edged Pollock to Kallis at second slip.
Harmison, struggling to live up to his reputation as a bowler in the series, then produced his unlikely cameo over 12 overs, recording a career-best score.
When Pollock sought to rough up Harmison he responded with a cut and pull for four as 18 came off the over, leaving Pollock grinning broadly.
The match ended 20 overs after lunch when Harmison was caught by Boje in the gully off Makhaya Ntini. He hit seven fours and a six.
The fourth Test starts in Johannesburg next Thursday.
South Africa 1st innings 441
England 1st innings 163
South Africa 2nd innings 222-8 declared
England 2nd innings (overnight 151-5)
M.Trescothick c Amla b Pollock 0
A.Strauss lbw b Boje 39
R.Key st De Villiers b Boje 41
M.Vaughan c Rudolph b Ntini 20
G.Thorpe c De Villiers b Pollock 26
A.Flintoff c De Villiers b Pollock 20
G.Jones c Kallis b Boje 38
A.Giles c Kallis b Boje 25
M.Hoggard not out 7
S.Jones c Kallis b Pollock 19
S.Harmison c Dippenaar b Ntini 42
Extras (b-6 lb-3 nb-12 w-6) 27
Total (all out, 123.4 overs) 304
Fall of wickets: 1-0 2-68 3-103 4-105 5-146 6-158 7-220 8-225 9-253
Bowling: Pollock 31-11-65-4 (nb-9 w-1), Ntini 24.4-6-49-2 (nb-1 w-3), Langeveldt 17-3-50-0 (nb-2 w-1), Boje 34-13-71-4, Kallis 15-4-49-0 (w-1), Smith 2-0-11-0.
Result: South Africa won by 196 runs
First Test: Port Elizabeth - England won by seven wickets
Second Test: Durban - match drawn