Pretoria – South Africa were in trouble as they reached lunch on day four on 65 for three, still requiring 417 runs to win, against Australia in the first Test at SuperSport Park, in Centurion, on Saturday.
With five sessions still to bat for South Africa, Australia were chasing a further seven wickets for victory.
Set 482 to win after a sporting declaration by Australian captain Michael Clarke, Mitchell Johnson was once again the nemesis of the Proteas batsman.
Alviro Petersen was first to depart, caught behind by wicketkeeper Brad Haddin, bowled by Johnson.
A length delivery outside off stump induced the edge from the opener, and Haddin took an easy catch as South Africa lost their first wicket with the score on six.
The strike also brought up Johnson's 250th wicket in Tests.
Proteas captain Graeme Smith (4) soon followed his opening partner back to the changeroom.
Smith could only watch in shock as the ball Johnson bowled on his pads, was clipped off the middle of the bat straight into the hands of Alex Doolan, who took a stunning reaction catch at short square leg.
The double strike left the Proteas struggling at 12 for two inside four overs.
Faf du Plessis (18) fell to a delivery which kept low, as he was out trapped leg-before-wicket to Peter Siddle just before the interval.
At the wicket at lunch were Hashim Amla (22) and AB de Villiers (4) both unbeaten, while Johnson returned figures of 2/27.
Before the Proteas came in to bat, Australia faced 3.2 overs for the addition of two runs to reach 290 for four, a lead of 481, before they declared.
Resuming on an overnight total of 288 for three, Shaun Marsh was out caught behind by De Villiers, bowled Dale Steyn without adding to his overnight total of 44.
At the fall of the wicket, the declaration immediately followed.
Australia scored 397 in their first innings to South Africa's 206, a lead of 191. – Sapa