South Africa's Wayne Parnell (L) and Dean Elgar celebrate the wicket of Australia's Shaun Marsh (not in picture) during the second day of the second cricket Test match in Port Elizabeth. REUTERS/Rogan Ward

Port Elizabeth - South African bowler Wayne Parnell struck twice to leave Australia in trouble on 112 for four at the close of play on day two of the second Test at St George's Park, in Port Elizabeth, on Friday.

In his first over in Test cricket for four years, the left-armer removed Alex Doolan for 8, caught behind by AB de Villiers. Incoming batsman Shaun Marsh lasted just two balls before he too was caught behind, for a duck, to give Parnell his second wicket.

Australia, at that point, were left stumbling on 41 for three in reply to South Africa's 423 all out.

It could have been worse for the Aussies, had David Warner not been dropped in the 17th over. Warner on 43, edged Morne Morkel and De Villiers fumbled the catch. Graeme Smith at first slip was also unable to grab the ball as it popped out of the wicketkeeper's gloves.

Warner later managed to bring up his half-century off just 55 balls, with eight fours.

Vernon Philander accounted for Aussie captain Michael Clarke caught by Dean Elgar at cover for 19 as Australia were left 81 for four.

Warner (65) and nightwatchman Nathan Lyon (12) were left unbeaten at the crease at the close of play still trailing South Africa by 311 runs.

Lyon was also dropped, in the final over of the day by JP Duminy off Parnell's bowling.

Parnell returned figures of 2/19 in six overs.

First to fall for the Aussies was Chris Rogers, out lbw to Philander for five.

Earlier, South Africa were all out just after tea courtesy centuries from De Villiers (116 runs, 232 balls, 14 fours, one six) and Duminy (123 runs, 231 balls, 14 fours) batting first.

Aussie spinner Lyon thrived in the conditions picking up 5/130 from a mammoth 46 overs.

Duminy was out lbw to Lyon straight after tea. The strike completed the five-wicket haul for Lyon.

Before tea, Duminy had shared in a 149 run sixth wicket stand with De Villiers.

De Villiers departed for 116 as he chipped the ball straight back to Lyon.

The knock of De Villiers also marked the 12th Test in a row where he passed 50.

Before Duminy notched up three figures, he scored his 1000th Test run as he made it to 77 off the bowling of Peter Siddle in the 127th over.

In the morning session, the Aussies went wicketless as De Villiers and Duminy resumed on the overnight total of 214 for five.