Durban - Steven Finn took three crucial wickets, including two in successive overs, as England pushed for victory on the fourth day of the first Test against South Africa at Kingsmead on Tuesday.
Set to make 416 to win, South Africa were 136 for four at the close of play, facing a long struggle to bat out the final day to earn a draw and prevent England from going ahead in the four-match series.
England hopes soared when the tall Finn had South African captain Hashim Amla caught behind for 12 before removing the limpet-like Dean Elgar for 40. Elgar, who carried his bat for 118 not out in the first innings, was caught at second slip by Joe Root. He had been on the field for the entire match up to that point.
AB de Villiers and Faf du Plessis batted through 103 minutes and 23.5 overs to raise hopes that South Africa might pull off another rearguard action to save the game as they have done against Australia, India and Sri Lanka in recent seasons.
But, in what proved to be the last over of the day, Finn struck again, having Du Plessis caught by England captain Alastair Cook at first slip off a ball that kicked viciously to glance off the shoulder of the bat. Finn finished the day with three for 27. Du Plessis scored nine off 66 balls.
De Villiers, who made 37 not out off 83 balls, escaped with his score on 33 when he went down the pitch to off-spinner Moeen Ali and wicketkeeper Jonny Bairstow failed to catch a sharply-turning ball to make a stumping.
Elgar and Stiaan van Zyl put on 53 for South Africa's first wicket before Ben Stokes bowled Van Zyl for 33.
The left-handed Van Zyl played some handsome strokes before he fell in similar fashion to his first innings duck against Stuart Broad, misjudging a ball bowled from around the wicket which hit his off stump.
England were bowled out for 326 in their second innings just under an hour after lunch.
Bairstow hit an aggressive 79 off 76 balls to provide impetus to the England innings as they sought to score quickly to give themselves time to bowl out South Africa.
Bairstow hit nine fours and three sixes before he was last man out, caught at long-off, after he provided a rare example of a batsman scoring freely on a dry, slow pitch.
With fast bowler Dale Steyn missing because of a shoulder strain, off-spinner Dane Piedt bowled 18 overs unchanged from the start of play. He finished with five for 153 in 36 overs, his first five-wicket haul in Tests.
South Africa struck two blows early in the day, dismissing Joe Root for 73 and Stokes for five.
But Bairstow followed up a first innings of 41 with another fluent performance, with James Taylor (41), Moeen Ali (16) and Chris Woakes (23) all providing support.
Steyn, who only bowled 3.5 overs on Monday, including a second spell of just three balls, again felt discomfort in his right shoulder and it was decided he should not take the field. The injury puts him in doubt for the second Test starting in Cape Town on Saturday.