David Warner's century and Mitchell Johnson's seven-wicket haul put Australia in a strong position after day three of the first Test against South Africa at Centurion.
Johnson finished with 7-68 as South Africa were all out for 206 to concede a first-innings deficit of 191 and Australia, led by Warner's 115, reached 288-3 to increase their advantage to 479 at stumps.
Warner shared a double-century second-wicket stand with debutant No 3 Alex Doolan (89) on the way to his sixth Test hundred.
South Africa added 66 runs for their last four wickets at the start of the day, thanks largely to AB de Villiers' 91.
Only the wicketkeeper-batsman could handle Johnson for long, resisting for 148 balls and hitting 10 fours and two sixes.
Eventually even he fell to the rampant left-arm seamer, but in contrasting fashion to his team-mates - ninth out, just failing to clear mid off rather than being bounced or bowled out.
Johnson, who took 37 wickets during Australia's 5-0 Ashes whitewash of England after being recalled to the side, has now moved above former captain Richie Benaud into seventh in Australia's all-time list with 249 Test wickets.
Australia's second innings got off to a bad start in a short session just before lunch when opener Chris Rogers chopped Dale Steyn's first delivery down on to his stumps in the second over.
But Warner and Doolan then began to put Australia out of sight.
Warner was dropped twice in the 20s, once by substitute fielder Dean Elgar running in from long-leg from a faulty pull at Vernon Philander and then head-high at slip by Alviro Petersen off Morne Morkel.
Captain Graeme Smith was also unable to hold on to another tough chance to see off Warner, who profited to reach his 118-ball hundred when he hit his 13th four to go with two sixes.
By then Doolan, after an especially watchful start, also had a maiden Test 50.
Warner eventually departed via a sharp edge off slow left-armer Robin Peterson to Smith at slip, and 28-year-old Tasmanian Doolan fell short of a hundred on debut when he nicked a short one behind trying to cut part-time off-spinner JP Duminy.
But first-innings centurion Shaun Marsh and captain Michael Clarke helped Australia to 288 for three at stumps, and South Africa are therefore sure to be set a mammoth target.