Shaun Marsh justified his surprise selection with an unbeaten century as Australia recovered from a difficult first morning to reach 297 for four in the first Test against South Africa.

Graeme Smith won the toss and put Australia in and his bowlers reduced the tourists to 98 for four.

Dale Steyn took two of those wickets but, along with his colleagues, began to bowl loosely as Australia recovered with an unbroken stand of 199 between Marsh and Steve Smith.

David Warner (12) inside-edged a cut at a Steyn delivery to demolish his own leg stump, bringing Alex Doolan to the middle for his Test debut.

And Morne Morkel wasted no time in bouncing out Chris Rogers (four), brilliantly caught by JP Duminy.

Marsh was dropped on 12, though in truth Hashim Amla did well even to get a hand on the ball, but Doolan, having looked good for his 27, pulled Ryan McLaren straight to mid-wicket where Robin Peterson took a good diving catch.

It was 83 for three at lunch and captain Michael Clarke fell for 23 in the seventh over of the afternoon session, lured into an injudicious hook against Steyn and caught by Vernon Philander in the deep.

Marsh reached his half-century when he gloved a pull at McLaren to the fine-leg boundary, his seventh four from the 101st ball he faced.

Tea was taken after the 54th over with Australia on 176 for four, Marsh (67 not out) and Smith (29no) having taken their partnership to 78.

That became three figures when Marsh hooked McLaren just out of Morkel's reach for four, and two individual landmarks followed.

Smith drilled McLaren through extra cover for his seventh four to reach a 118-ball fifty - and two balls later, Marsh clipped Duminy off his legs to reach 100.

It was only his ninth in a first-class career stretching back to 2001, and contained 11 fours in 174 balls.

Smith accelerated against the new ball and gave himself a chance of reaching three figures before the close of play.

He had to settle for an unbeaten 91, though, with Marsh on 122 as their partnership approached 200.