South Africa took a firm grip on the second Test with Australia at Port Elizabeth after dominating the second day in Port Elizabeth.
AB de Villiers and JP Duminy scored centuries as South Africa made 423 and the tourists were 112-4 in their reply.
De Villiers made 116 and Duminy 123 as the duo put on 149 for the sixth wicket to post a strong first-innings total at St George's Park.
Resuming on 241-5, the Proteas added 82 runs without loss before lunch with De Villiers bringing up his 19th Test century off 201 balls.
|South Africa vs. Australia: 2nd Test Scorecard, Day 2|
|South Africa 1st Innings|
|Elgar||c Harris||b Lyon||83||291||193|
|du Plessis||c Doolan||b Lyon||55||158||126|
|AB de Villiers||c and b Lyon||116||315||232|
|de Kock||c Sub||b Smith||7||28||17|
|Philander||c and b Clarke||6||51||37|
|Parnell||c Haddin||b Lyon||10||40||37|
|M Morkel||run out (Haddin)||1||7||4|
|Extras||0nb 1w 4b 4lb||9|
|Total||all out||423||(150.5 ovs)|
|Australia 1st Innings||(SA 423)|
|Doolan||c AB de Villiers||b Parnell||8||25||15|
|S Marsh||c AB de Villiers||b Parnell||0||2|
|Clarke||c Elgar||b Philander||19||38||28|
|Extras||0nb 0w 0b 3lb||3|
|Total||for 4||112||(25.0 ovs)|
He went after the adjournment when he offered Nathan Lyon a return catch, and Vernon Philander departed for six in the same manner with Australian captain Michael Clarke picking up a rare wicket.
However Duminy, who was on two overnight, reached his first Test ton in nearly two years with a swept four off Lyon. He reached the milestone off 199 balls with 13 boundaries.
Wayne Parnell departed for 10 with the last ball before tea when an outside edge off Lyon was snaffled by Brad Haddin, and the slow left-armer picked up a five-wicket haul when Duminy attempted an audacious reverse sweep and was trapped lbw.
A mix-up between Dale Steyn and Morne Morkel saw the No. 11 run out for just one but the hosts made an early breakthrough with the ball when Philander trapped Chris Rogers lbw for five.
Fellow opener David Warner played with typical aggression and was unbeaten on 65 at stumps, but wickets fell at the other end with Alex Doolan (8) and Shaun Marsh (0) caught behind off Parnell and Clarke lobbing Philander to short extra cover after making 19.
Australia lead the three-match series 1-0 after a 281-run win at Centurion last week, but the top-ranked team in the world will be confident of levelling matters after today.