Wicketkeeper Carey made 111 from 149 balls before the home side declared on 575 for eight, with Cameron Green defying the pain from a fractured finger to reach 51 not out.
South Africa captain Dean Elgar was then dismissed for a duck in his side’s second innings before rain brought an early end to the third day with the Proteas 15 for one, a deficit of 371 runs.
Travis Head’s dismissal by Anrich Nortje – who had been knocked to the ground by Spidercam on day two – brought Warner back to the crease but he was bowled first ball and received a standing ovation as he returned to the pavilion.
That left Carey, Green and Nathan Lyon – who struck a six and three boundaries in his quickfire 25 – to pile on the runs before the declaration came to give some respite to South Africa’s exhausted attack.
Australia lead the three-Test series 1-0.