(CNN) -- Opener Ashwell Prince and all-rounder Jacques Kallis scored centuries as South Africa took a strangehold on the third and final Test against Australia in Cape Town.
Prince sweeps to leg during his superb innings of 150 in Cape Town.
Replying to Australia's paltry 209 first innings, the home side were 404 for three wickets by the close of the second day at Newlands.
Australia, who clinched the series with wins in the opening two Tests, were put to the sword by first Prince, who made 150, and latterly Kallis, who was 102 not out.
Prince hit 19 boundaries and two sixes in his fine innings which ended in controversial circumstances after he was given out caught behind down the leg side off Ben Hilfenhaus.
Umpire Steve Bucknor, officiating in his 128th and last Test, gave Prince not out, but the decision was overturned after a lengthy referral to TV umpire Billy Bowden.
Prince cemented his reputation of making a century once he has gone past 50 in Test matches.
His "conversion" rate is only bettered by all-time greats Don Bradman and George Headley.
Opener Imraan Khan was the only wicket to fall in the morning session as he gave Peter Siddle a caught and bowled return catch for 20.
Prince then had Hashim Amla for company to put on a further 97 until Amla went for 46 just after lunch.
But it was the 160-run partnership for the third wicket between Prince and Kallis which took the game away from Australia with leg spinner Bryce McGain coming in for heavy punishment as he conceded 102 runs in his 11 overs.
After Prince departed, Kallis and AB de Villiers continued the home side's momentum with an unbeaten 82 stand to the close.
Kallis reached his 31st Test century shortly before the close with a quick single which again needed the intervention of the TV umpire after it was originally given as a leg bye.