South Africa took their Test series against Australia to a deciding match after a 231-run win in Port Elizabeth.Hashim Amla made his 21st Test century and was 127 not out when South Africa declared on 270-5 shortly before lunch.
Set 448, 30 more than the record score to win a Test, Australia made a fine start as openers David Warner (66) and Chris Rogers added 126 in 29 overs.
Though Rogers went on to make 107, paceman Dale Steyn claimed 4-55 and Australia were bowled out for 216.
Trailing 1-0 in the series following a 281-run defeat at Centurion, South Africa resumed on 192-4 at St George’s Park and batted on for 17 overs to add a further 78 runs.
Amla, 93 overnight, went to his hundred in style in the fifth over of the morning with a trademark wristy boundary past point.
The declaration came 40 minutes before the end of the morning session, allowing eight overs at the Australian openers but they negotiated pace trio Steyn, Morne Morkel and Vernon Philander comfortably.
Warner was peppered with some hostile deliveries by Morkel, but responded to the challenge and hit four boundaries in an over from the tall fast bowler.
The left-hander struck JP Duminy down the ground for six, and with the usually obdurate Rogers recording seven boundaries in his half century and South Africa a bowler short because of left-arm seamer Wayne Parnell’s injury, progress for the tourists appeared serene.
But off-spinner Duminy returned to make the breakthrough by pinning Warner on the crease and though the decision was reviewed, replays indicated the decision was correct.
In the final over before tea, Rogers chased an extremely wide one from Steyn and appeared to make contact with the bottom of the bat through to wicketkeeper AB de Villiers.
Skipper Graeme Smith chose not to call for a review, though replays showed a line on the snickometer, the third time in the match he had spurned the chance of a successful review.
With the ball beginning to reverse swing for the seamers, however, the task for the remaining Australian batsmen was to become very different.
In the sixth over of the evening session a hesitant Alex Doolan, who had spent more than an hour at the crease to score five, edged Morkel low to Smith at first slip and in the next over Shaun Marsh, who made a century in the first Test, completed a pair when he played across a swinging delivery from Philander and was lbw first ball.
Steyn claimed the key wicket of Michael Clarke for just a single, the Australia captain superbly caught by Faf du Plessis diving forward at second slip.
The paceman then produced a superb inswinger to account for Steve Smith lbw next ball, the second golden duck within five overs, although Brad Haddin survived the hat-trick ball.
But when wicketkeeper Haddin, who topped the Australia averages in the recent whitewash against England with a century and five fifties, was beaten all ends up by Steyn and lost his middle stump for the second time in the match, five wickets had fallen for 14 runs in 10 overs.
The South Africans finally made correct use of the review system when Philander’s lbw appeal against Mitchell Johnson was challenged and duly overturned.
Having completed his fourth Test century in only his 13th match, Rogers was reprieved again on 107 when there was sufficient evidence to prove a leg-side catch by De Villiers had not been take cleanly.
But Ryan Harris was trapped lbw by a fired-up Steyn and Rogers was run out by a direct hit from substitute fielder Alviro Petersen.
By now, the umpires had extended the final session because of the chance of the match being completed, but the light had faded to such an extent that Smith was obliged to use his slow bowlers.
However, part-time spinner Dean Elgar trapped last man Nathan Lyon lbw and though there was an inside edge, Australia had no reviews remaining as the Proteas wrapped up victory.
The series, level at 1-1, moves to an intriguing finale in Cape Town on 1 March.