Kevin Pietersen kept England's hopes alive after his fellow top order batsmen failed on the third day of the third Test against South Africa at Edgbaston on Friday.
England were 126 for four in their second innings at tea, a slender lead of 43. Pietersen was unbeaten on 42.
South Africa eked out a first innings lead of 83 before their bowlers put them in sight of their first Test series win in England since 1965.
England's slide started when Alastair Cook top-edged a pull against Makhaya Ntini and wicketkeeper Mark Boucher ran 25m towards square leg to hold the catch.
England captain Michael Vaughan failed again when he was out for 17 and he was followed by Andrew Strauss and Ian Bell in an extended afternoon session.
Vaughan, under pressure after making only 23 runs in his first four innings in the series, batted aggressively and struck four solid boundaries in an 18-ball innings before a drive against Andre Nel was held by a diving Hashim Amla low down at mid-off.
Strauss batted confidently for his 25 before he was caught at second slip off Morne Morkel, bowling around the wicket.
Bell looked disgusted with himself when he top-edged a hook against Ntini to offer a simple catch to Boucher, running towards fine leg, after making 20.
Pietersen meanwhile batted with unusual restraint for almost two hours, facing 83 balls and hitting four boundaries.
Earlier, Boucher made 40 as South Africa stretched their first innings total to 314 before he was last man out.
Rain started falling almost immediately after the end of the innings. An early lunch was taken before England could start their second innings.
South Africa suffered an early blow when Ashwell Prince, who had made centuries in the first two Tests, drove at a wide ball from Ryan Sidebottom in the second over of the day to be caught behind for 39.
Andrew Flintoff, whose fiery spell late on the second day brought England back into the game, was denied his fifth wicket of the innings in the next over when Boucher, on 12, was dropped by Paul Collingwood, diving far to his right at second slip. The ball would have gone straight to the fielder if a third slip had been in place.
The second new ball was taken but Morne Morkel batted brightly to make 18 before he was leg before wicket to James Anderson, to be followed almost immediately by Andre Nel, who was bowled by an in-swinging delivery from Sidebottom.
With last man Makhaya Ntini at the crease, Boucher went for his shots and hit three fours in an over from Sidebottom. He managed to keep the strike when he hooked the last ball of the over to long leg where Monty Panesar spilled a chance before he struck Anderson high towards deep cover where England captain Michael Vaughan pulled off a spectacular diving catch.
Flintoff finished with four for 89, while Sidebottom and Anderson took three wickets each.
England, first innings, 231
South Africa, first innings (overnight 38-1)
|N. McKenzie||lbw||b Flintoff||72|
|G. Smith||c Strauss||b Flintoff||7|
|P. Harris||c Cook||b Sidebottom||19|
|H. Amla||c and b||Anderson||9|
|J. Kallis||b Flintoff||64|
|A. Prince||c Ambrose||b Sidebottom||39|
|A. de Villiers||c Sidebottom||b Flintoff||5|
|M. Boucher||c Vaughan||b Anderson||40|
|M. Morkel||lbw||b Anderson||18|
|A. Nel||b Sidebottom||0|
|M. Ntini||not out||0|
|Falls:||1-17, 2-94, 3-117, 4-135, 5-226, 6-238, 7-264, 8-293, 9-298|
England, second innings
|A. Strauss||c Kallis||b Morkel||25|
|A. Cook||c Boucher||b Ntini||9|
|M. Vaughan||c Amla||b Nel||17|
|K. Pietersen||not out||42|
|I. Bell||c Boucher||b Ntini||20|
|P. Collingwood||not out||9|
|Total||(4 wkts, 37 overs)||126|
|Falls:||1-15, 2-39, 3-70, 4-104|
Umpires: Aleem Dar (PAK), S Davis (AUS). Match referee: R Madugalle (S