Australia still had the upper hand by a large margin at stumps on day three of the second Test in Adelaide, but South Africa showed their fighting spirit in the afternoon session, taking five wickets to leave the hosts on 111 for five.
Australia's lead was still a substantial 273 though, and with Michael Clarke still unbeaten on nine and Mike Hussey on five, the Proteas will need to take quick wicket on day four to restrict the hosts to at least 350 if they are to have a hope of saving the game.
Rory Kleinveldt was the pick of the bowlers in the evening session, taking three quick wickets to once again leave the top order asking questions as Clarke was again asked to come in earlier than he'd have liked.
The Proteas were all out for 388 at the tea interval, with Faf du Plessis dragging them past the follow-on target with a valiant 78 and leaving the hosts with a hefty lead of 162 at the time.
Du Plessis the final wicket to fall as Ben Hilfenhaus induced a pop-up catch to Clarke. Du Plessis was batting in his Test debut and did himself justice, using 159 balls and striking 13 boundaries and a six.
The Proteas started the day in a good position on 217 for two, but were soon in all sorts of trouble thanks to Peter Siddle and Hilfenhaus. Jacques Rudolph was on 25 at the resumption, but could only add four runs to his score before being caught by Rob Quiney off Nathan Lyon.
Skipper Graeme Smith, who scored a classy ton on day two, added 11 runs to his overnight score but was caught behind by Matthew Wade off Siddle for 122. The wickets continued to tumble from there as AB de Villiers (1), Dale Steyn (1) and Rory Kleinveldt (0) departed within 10 runs of each other.
Jacques Kallis, who batted low down the order due to his hamstring injury, came in to join Du Plessis and batted with his usual calm and technique, despite being crocked. The veteran all-rounder and the debutant put on 93 runs together.
Kallis lasted for 93 deliveries for his 58 runs, and avoided actually running as much as possible, striking 10 fours and a six. He was in obvious pain, but did not stop himself from playing his shots as he showed his partner how to go about rescuing their side.
Kallis was eventually dismissed by the part-time spin of Clarke, though a review was required to see in the ball had struck his gloves. It had, and Wade took a good catch down the leg side.
Morne Morkel and Imran Tahir then added six and 10 respectively as Du Plessis tried to get the score as close to the 550 required as possible. Hilfenhaus bagged his third scalp with 124 overs gone, as Du Plessis succumbed at last.
The Aussies started off well, with David Warner and Ed Cowan taking the attack to the bowlers, especially Tahir. The spinner thought he'd gotten Cowan at one point, and he had, but replays showed he had done the criminal by over-stepping.
As it was, Kleinveldt showed the form that got him into the side in the first place, and got Warner to send a leading edge to Du Plessis with the score on 77. He soon added Rob Quiney to his tally for a duck, and then bowled Cowan with a peach.
This left Clarke and Ricky Ponting to steady the innings, and the latter was desperate to get a good score on the board to justify his presence in the side. But Dale Steyn had other ideas, and the former skipper sent an inside edge onto his stumps with his score on 16.
Australia then sent Siddle out as night watchman, which only served to send them another wicket down before the close as Morne Morkel induced an outside edge that AB de Villiers caught behind with ease.