The unbeaten South Africans dominated the first hour and scored three unanswered tries in the first half, helped by a rash of handling errors from the Wallabies.
Scrumhalf Fourie de Preez took a quick penalty tap in the sixth minute, catching the Australian defense off guard as he scooting 15 meters to the tryline to start the scoring.
The Springboks led 22-3 before Australia flyhalf Matt Giteau reduced the margin to nine points with a penalty goal just before halftime and a converted try three minutes after.
But Habana secured the bonus point and sealed the result in the 54th minute when he crossed untouched following a well worked decoy play from a scrum for the Springboks' fourth try.
The Australians scored two tries in the last five minutes, including Lachie Turner's right on full time, to get within seven points and earn a bonus point.
Giteau ended with 20 points from two tries, two conversions and two penalties, but missed two penalty goal attempts and a quickly taken conversion.
The South Africans lead the Tri-Nations competition with 17 points from four wins, including two at home against the All Blacks and home-and-away wins over the Wallabies.
The All Blacks have eight points from two wins and Australia is out of contention with just three points from four losses.
That means the World Cup champion South Africans will win the Tri-Nations unless they lose their last two matches without picking up a bonus point and New Zealand has two bonus-point victories.
South Africa plays Australia at Brisbane next Saturday and New Zealand at Hamilton the following week.
Springboks coach Peter De Villiers was impressed with his lineup, which worked with a minority of possession, struggled in the scrum and conceded 15 penalties to just four from Australia.
"Look at the character they showed," said De Villiers, who has 10 wins from his last 11 tests as coach. "A few calls didn't go their way. We were at sixes and sevens in the scrums. They had the character to stand up as a team, and to play with the scraps that we got."
The South Africans got plenty of chances to counterattack from a mistaken-ridden Wallabies lineup which allowed 21 turnovers and made 13 handling errors.
The Australians had the bulk of possession but had no penetration in attack in the first half and were punished by the offensive tackling from the more aggressive Springboks.
The Wallabies also lacked cohesion. Giteau was getting slow service from Luke Burgess from phase ball and set pieces and struggling for combination with inside center Adam Ashley-Cooper, who was playing his third different position in three tests to cover for injured midfield regulars Stirling Mortlock and Berrick Barnes.
Their lack of combination led directly to South Africa's second try, when center Jaque Fourie strolled through a yawning midfield gap in the 10th minute and onto a short ball from Morne Steyn to touch down beside the posts and make it 10-0.
South Africa's third try came directly from an Australian handling error in the 33rd minute, when winger Turner fumbled in an aerial contest for a high ball with Jean DeVilliers and Habana seized on the rebound with little defense to beat.
The Australians looked most dangerous when Quade Cooper went on at flyhalf and allowed Giteau to move one place wider to inside center.
Giteau, who beat four defenders after a quick tap in the 43rd minute for his first try, earned a second in the 75th when he straightened the angle of attack after Cooper dragged three defenders across field and gave him an inside ball.
The Australians have now lost six straight Tri-Nations matches dating back to last August, putting extra pressure on coach Robbie Deans to make changes.
Deans said the Australians showed courage to come back.
"The boys showed at the death, we're not far away. We'll keep going," he said. "The good thing is, I guess, they're one score away.
"When you get into this context, it would be easy to take the soft option and go belly up. (But) there's a lot of pride in this group. You'll see that next week."
Scores:
South Africa 32 (Bryan Habana 2, Fourie du Preez, Jaque Fourie tries; Morne Steyn 3 conversions, 2 penalties) def. Australia 25 (Matt Giteau 2, Lachie Turner tries; Giteau 2 penalties, 2 conversions). Half time: 22-6.