Chris Rogers scored a resolute century but Australia were unable to stop South Africa recording a series-levelling victory in the second Test.
Rogers (107) almost carried his bat in a fantastic innings, but with play extended until 6.30pm local time on Sunday he was unable to push the contest to a fifth day and the possible salvation of rain in Port Elizabeth.
Rogers was run out at 6.26pm and Nathan Lyon adjudged lbw the next over, ending Australia’s second innings at 216 and setting the stage for an epic series decider starting in Cape Town on Saturday.
In a dramatic end to a thrilling session where Australia lost nine wickets and Dale Steyn (4-55) cleaned up their middle order, replays showed Lyon edged the ball but his side had run out of reviews.
Some 64.3mm of rain is predicted to fall on Monday, and the Proteas had two balls remaining before stumps.
Rogers put on a fluent 126-run opening stand with David Warner, piloting his side to a score of 1-141 at tea.
It then all fell apart for Australia as they wilted dramatically in pursuit of the historically impossible target of 448 that Graeme Smith set with his declaration at 5-270 approximately halfway through the morning session.
The No.1 team on the ICC’s rankings flexed its muscle in an incredible 5.5 overs of cricket in which the visitors added five runs for the loss of five wickets.
Morne Morkel started the rot, Vernon Philander chipped in and Steyn was on a hat-trick as the Proteas’ pace trio made a compelling case in the debate over which bowing attack is the world’s best.
Steyn captured the wickets of Michael Clarke (one), Steve Smith (duck) and Brad Haddin (one) in a fiery four-over spell of 3-10.
Alex Doolan was out edging to Morkel for five, while Shaun Marsh completed a pair for the match with his sixth duck from 15 Test innings when he was lbw to Philander.
Rogers continued his defiant knock after the collapse, bringing up a hard-earned ton after 275 minutes at the crease.
But after the dismissals of Mitchell Johnson and Ryan Harris, Rogers started to farm the strike and he was undone by a direct hit from substitute fielder Alviro Petersen.
Petersen was omitted from the side that suffered a resounding loss in Centurion last week due to a gastro bug.
The Decision Review System was a constant talking point on the fifth day, while AB de Villiers had two disputed catches turned down by third umpire Aleem Dar.
“They outplayed us throughout this whole Test match, with bat and ball,” Clarke said. “Dale Styen’s execution of reverse swing was all class.”
Wayne Parnell’s groin injury meant Smith was a bowler down and Robin Peterson’s omission left him without a frontline spinner.
But it hardly seemed to matter, with JP Duminy making the all-important first breakthrough in the 30th over when he trapped Warner lbw for 66.
Duminy, who hurt his ribs diving on a ball in the final hour of play, was named man of the match for his knock of 123 in the first innings.
MAN OF THE MOMENT: DALE STEYN. Australia had reason to hope they could avoid defeat until Steyn’s demonic four-over spell. The hunter removed Michael Clarke and Steve Smith with consecutive balls before shattering the stumps of Brad Haddin for the second time in the match.
KEY MOMENT: Clarke departs for one when Faf du Plessis plucks a fantastic catch from second slip in the 49th over.
STAT OF THE DAY: 10-90. That’s what Australia lost after cruising to 0-126, when playing out for a draw and an improbable run at the 448-run victory target were both on the cards.
SUMMARY: Graeme Smith declared with one eye on the weather forecast that predicted 64.3mm of rain on day five, which looked a likely ally for Australia until the dramatic final session in which they lost 9-64.