Twin centuries from AB de Villiers and JP Duminy put South Africa in the driving seat on day two of the second Test against Australia at Port Elizabeth.
Resuming on 214 for five and with an expected new ball barrage to survive in the morning, the Proteas needed substantial knocks from their two overnight batsman and duly got them.
De Villiers, having already become the first batsman in Test history to score at least a half-century in 12 successive matches, compiled a classy 116, while Duminy outscored him with a battling 123 from number seven.
That saw South Africa to 423 all out, Australia's in-form attack for once blunted, and the Baggy Greens reached 112 for four on the back of David Warner's near run-a-ball 65 not out.
Australia took the new ball as soon as play began but, for the first time in recent memory, Mitchell Johnson could not make it talk.
Instead Duminy counter-punched with great effect, hitting the left-arm quick for three boundaries in his second over of the day.
De Villiers signalled his intent to go on by launching Siddle for six over midwicket before sweeping Lyon for his 12th boundary to reach three figures.
Both batsman began to milk the bowling and de Villiers reached his century by sweeping Lyon for his 12th boundary of the innings.
Seven overs into the middle session, the stand was finally broken on 149 as de Villiers mis-judged the flight when attacking Lyon and fed the bowler a return catch.
The busy Duminy found solid, unflashy allies in Philander and Wayne Parnell, and it was a sign of visiting skipper Michael Clarke’s desperation that the specialist batsman was treated to Warner’s occasion bowling after reaching his century.
Lyon eventually trapped Duminy in front and a Morne Morkel run out wrapped up the South Africa innings.
Australia's reply started badly, with Chris Rogers pinned leg before in the fourth over by Philander, but Warner was soon into his stride.
It was just as well for the tourists, as Parnell entered the fray to have Alex Doolan and Shaun Marsh caught behind for eight and nought respective
Crucially, de Villiers could not make it three catches behind the stumps as he shelled Warner on 43, but Philander returned to have Clarke caught by Dean Elgar for 19 and bring nightwatchman Lyon to the crease.