The Springboks regained their attacking spark in front of a passionate crowd of 44 463 at their most secure home venue, but the victory was set up by their big men up front, who dominated the collisions and successfully disrupted the Wallaby lineout.
South Africa could have won by an even healthier margin, but goalkicking woes continued to dog them as flyhalf Johan Goosen missed the first two penalties and scrumhalf Ruan Pienaar then failed with two penalties and two conversion attempts.
Habana ran in tries in the 29th, 62nd and 79th minutes to become South Africa’s leading try-scorer against Australia with eight in 16 Tests, beating Breyton Paulse’s mark of seven.
Fullback Zane Kirchner and flank Francois Louw scored the other Springbok tries, with Pienaar adding three conversions.
Australia, who were ravaged by injuries and finished with 14 men because they had used all seven of their substitutions, scored a 66th-minute try through replacement centre Mike Harris, while flyhalf Kurtley Beale kicked a first-half penalty.
After the 20-year-old Goosen, starting in place of the experienced Morne Steyn, missed two penalties in the first 10 minutes, South Africa decided to aim their next kickable penalty to touch. The rolling maul was well-defended by Australia, and loose forward Michael Hooper almost stole possession at a ruck, but in the end the home side managed to get the ball out right where Kirchner darted over in the corner for the opening try.
A minute later, a brilliant attacking sally by Goosen was stopped just short of the tryline by centre Pat McCabe and the Springboks’ kicking yips continued when Pienaar missed a long-range penalty.
But in the 29th minute, eighthman Duane Vermeulen, who lit up the first half with his brilliant foraging at the rucks and steely defence, made a break, Goosen was in support, Pienaar threw a dummy and made a half-break before Habana pounced on the pop pass and sliced through for his first try.
Pienaar’s conversion put South Africa 14-0 ahead and they were well on top at halftime even though the lead was narrowed to 11 points by a Beale penalty.
Just a minute before half-time, Kirchner was forced out on the corner flag by Adam Ashley-Cooper, who was playing at fullback because Berrick Barnes went off with a chest injury. Ashley-Cooper knocked himself out in the process though and was taken to hospital with concussion.
The Springboks again relied on their rolling maul to set up their first try of the second half, Louw scoring as the Wallabies’ defence shattered. Replacement prop James Slipper was yellow-carded just before the try for ruck infringements.
Habana earned his second try through quick thinking, finding hooker Adriaan Strauss with a quick lineout throw and then getting the ball back and sprinting clear from halfway, before notching his second hat-trick in 82 Tests with a minute left in the game as he ran in a breakaway try set up by Louw’s break and quick hands from fellow wing Francois Hougaard and replacement flyhalf Elton Jantjies.
Australia’s only try was set up by Beale, making his first start at flyhalf, as he kept the defence guessing, embarking on a crossfield run before straightening and throwing the ball out wide for Harris to score.
But the Wallabies were then reduced to 14 men and just seven forwards when referee Alain Rolland ruled they were not allowed to bring on replacement hooker Saia Fainga’a for the injured Tatafu Polota-Nau because seven substitutions had already been made, with loosehead prop Benn Robinson returning to the field after being replaced in the first half.
While Habana stole the limelight, it was the outstanding Springbok loose trio of Vermeulen, Louw and Willem Alberts that kept their opposition on the back foot, the bonus point for five tries leaving South Africa on 12 points and still in contention for the title if Argentina upset New Zealand later on Saturday.
South Africa – Tries: Zane Kirchner, Bryan Habana (3), Francois Louw. Conversions: Ruan Pienaar (3).
Australia – Try: Mike Harris. Penalty: Kurtley Beale.