Graeme Smith and Hashim Amla laid the foundations for a significant score as South Africa recovered from the early loss of Alviro Petersen to reach 86 for one at the close of the second day of the first Test against England at the Oval on Friday.
James Anderson produced a superb delivery in the third over of the innings, swinging the ball in and striking Petersen on the back pad to win a leg before wicket decision from umpire Steve Davis.
Petersen's dismissal continued the trend of a day which saw bowlers dominate for long periods under an overcast sky in south London.
However, South African captain Smith and Amla saw their team through to the close to keep the tourists in contention after England's first innings of 385 all out.
Amla had an escape 10 minutes before the end of an extended day's play when England captain Andrew Strauss dropped him at first slip off Ravi Bopara.
But Amla finished on 47 not out, while Smith, playing in his 100th Test, was unbeaten on 37.
There were signs, though, that the tourists will need to build a big first innings score because of uneven bounce from a dry pitch, while England off-spinner Graeme Swann was able to get some turn.
"There are good signs for Swanny," said England wicketkeeper Matt Prior.
"It is an attritional wicket and it is hard to score quickly.
"If we get early wickets in the morning we are back in the ascendancy. We are still in a very good position."
England lost their last seven wickets for 118 runs despite an aggressive innings of 60 off 90 balls by Prior.
Fast bowler Dale Steyn struck in the third and fifth overs of the day to dismiss Alastair Cook and Ravi Bopara as the match underwent a transformation from the first day when the England batsmen were seldom troubled in reaching 267 for three.
In the first eight overs, England added only six runs for the loss of two wickets as Steyn and Vernon Philander bowled an immaculate line, gaining some swing with the second new ball.
South Africa, bidding to replace England as the world's top ranked Test team, made a crucial breakthrough when Steyn dismissed Cook.
Cook added only one run to his overnight 114 before he was bowled off an inside edge by a ball from Steyn which swung in to him.
Bopara made an unhappy return after a year out of the Test team, trying to withdraw his bat after shaping to hook, but getting an edge to be caught behind by AB de Villiers without scoring.
Jacques Kallis bowled Ian Bell for 13 when Bell left a delivery which cut back and clipped his off bail.
Prior and Tim Bresnan added 29 runs before Bresnan chopped a ball from leg-spinner Imran Tahir on to his stumps and Prior also had useful stands of 45 for the eighth wicket with Stuart Broad and 25 for the ninth wicket with Graeme Swann.
Prior, who survived a difficult chance to Jacques Rudolph at gully off Morne Morkel when he was on 17, went on the attack to break the early stranglehold by the South African bowlers.
But Morne Morkel took the last two wickets to finish with four for 72. AB de Villiers, keeping wicket in place of the retired Mark Boucher, held five catches.
"The first hour was key for us," said Morkel. "We needed early wickets and all credit to Vern and Dale. The intensity with which they bowled was fantastic.
"They got the ball in the right areas, got some swing and shape and got the results."
Morkel said the change in conditions had helped South Africa.
"On the first day with a damp outfield it was hard to make the ball swing," he said.
"England batted well and I think that's going to be the format of the series, a tough challenge between bat and ball."