Rory Kleinveldt took three top-order wickets to help pull South Africa back into contention in the second test by restricting Australia to 111-5 at stumps, a lead of 273 with two days to play.
The Australians had a 162-run cushion after dismissing South Africa for 388 on day three, and were coasting at 77 without loss in the second innings until Kleinveldt struck.
The second-test paceman dismissed David Warner (41) and Rob Quiney (0) within three balls and then bowled Ed Cowan (29) as Australia slipped to 91-3. Dale Steyn chipped in with the wicket of Ricky Ponting (16), who dragged a wide ball back onto his stumps to make it 98-4.
Night watchman Peter Siddle faced 16 balls before he was caught behind off Morne Morkel as the Australians slipped to 103-5, bringing Mike Hussey to the crease to rejoin Clarke.
The pair put on 272 for the fifth wicket on day one to help Australia to 550 in the first innings. It was a day of wild momentum swings, with South Africa losing 5-17 in a morning session collapse and Australia losing 5-26 late.
After resuming Saturday at 217-2, South Africa lost established batsmen Jacques Rudolph (29) and Graeme Smith (122) on 233, then needed a 93-run eighth-wicket stand between a wounded Jacques Kallis (58) and test rookie du Plessis (78) to take the threat of the follow-on out of the equation.
Kallis, who injured his right hamstring bowling on the first morning, came in at No. 9 and stroked 11 boundaries and a six before he was caught behind off the part-time spin of left-armer Michael Clarke.
Du Plessis scored 78 from 159 balls and was chasing runs in the last-wicket stand when he miscued to Clarke at short mid-on with the total at 388, giving Ben Hilfenhaus figures of 3-49 in 20 overs.
Nathan Lyon (2-91) and Peter Siddle (2-130) shouldered the bulk of the overs and took two wickets apiece. Siddle had Smith caught behind to a very feint edge and trapped AB de Villiers (1) lbw in front of middle and leg - both batsmen having their referrals rejected by TV umpire Asad Rauf and leaving South Africa without any reviews in the innings.
Siddle had troubled Smith with a bouncer when he was on 118 and then the South African skipper's luck ran out in his next over.
Hilfenhaus did the job with Australia's second new ball when he had Steyn (1) caught at second slip by Ponting in the 83rd over and bowled Kleinveldt in the 85th. Kallis ducked under a bouncer from Hilfenhaus on the first ball he faced.
The 37-year-old allrounder was clearly restricted by the leg injury that has meant he hasn't been able to field since the 17th over of the match. After facing 93 balls, Kallis eventually tried to sweep against Clarke and the ball clipped his glove as it carried down leg-side to Matt Wade - the Australians getting the decision on review after Bowden rejected their appeal. Injuries to Kallis and Australian paceman James Pattinson could have a big impact on the end of the match. Pattinson left the field after bowling just one delivery on Saturday and went to a hospital for scans on his injured left side.
Results weren't likely before Sunday, when Australia may need him to bat. He will also leave a big void if he's unable to bowl in the fourth innings, with top-ranked South Africa proving on their last test tour here that they're dangerous when digging themselves out of trouble against Australia. Kallis won't bowl in Adelaide, but may need to bat again.
Kleinveldt didn't pick up a wicket on debut in the drawn first test at Brisbane last week and was initially left out of the lineup for the Adelaide match, but was reinstated when Vernon Philander withdrew due to a bad back. He proved his worth when he started swinging the ball around late on Sunday.
In the over after Cowan had a big reprieve - caught at short cover off a no-ball from Imran Tahir on 26, denying the legspinner his first wicket of the series - Warner got a leading edge to a Kleinveldt ball and lobbed a simple catch to Faf du Plessis in the covers. Quiney was out second ball, giving him a pair of ducks for the match before Cowan was bowled by a ball that swung late.
With another hot day expected Sunday, the pitch is expected to deteriorate and make batting difficult if the match gets to the last day.
South Africa only needs to draw the series to retain its No. 1 ranking, while Australia needs to win it to overhaul them.
- (Live Matches)
Should bouncers be banned from cricket?