Wicketkeeper Haddin and Mitchell Johnson came to the rescue after Broad, loud boos ringing in his ears at Brisbane's Gabba ground, ripped through Australia's top order on day one.
The pair combined in a counter-punching 114-run stand for the seventh wicket before the outstanding Broad bowled Johnson (64) with the second new ball for his fifth wicket of the innings.
Just before stumps, Australia lost another wicket when Peter Siddle was caught in the slips for seven off James Anderson.
At the close, Australia were 273 for eight and well short of what skipper Michael Clarke would have expected after winning the toss, with Haddin unbeaten on 78 and Ryan Harris not out four.
Haddin made his 13th Test half-century as runs came easily in the last session. Johnson racked up his eighth Test 50 with a booming boundary before Broad had the last word.
Had it not been for Haddin and Johnson's fightback, Australia would have been in a parlous state after Broad struck twice in the morning session and twice more after lunch to have the home side teetering on 132 for six.
Broad, who was vilified in the build-up to the series for not walking at a key moment during the summer's Ashes Tests in England, was unconcerned at his bad-boy role.
"We don't read the papers in the changeroom so I haven't been aware of too much, but it doesn't spur me on...you don't need any more inspiration in playing for your country in Australia's backyard in the first Test of a series," Broad said.
"To be able to come here and pick up wickets like I did today and as a team to stamp our authority on the series like we have today, that's all we're here for."
The boos rang out when Broad, branded a "smug Pommy cheat" by a local newspaper, stepped up to bowl but he quickly snared opener Chris Rogers for one in his second over.
Broad also accounted for Shane Watson (22) just before lunch, and he then took the prized scalp of Australian skipper Michael Clarke in the second over after the first break.
Clarke looked uncomfortable against a short-pitched delivery and popped a gentle catch to Ian Bell at short leg for one, in what was a quick and tame end for Australia's premier batsman.
Opener David Warner had smashed Broad's first ball of the day for four but his determined innings ended with a whimper as he became the tall quick's fourth victim just short of his half-century.
Warner looked disgusted at himself as he drove lazily at a short ball from Broad and spooned a catch to Kevin Pietersen in the covers, for 49 off 82 balls.
The England batsman is playing in his 100th Test.
The innings continued to unravel for Australia and debutant George Bailey edged Anderson to Alastair Cook for three, leaving the home side 100 for five in the 36th over.
Steve Smith looked effective with his unconventional shot-making, but perished when he sparred at Chris Tremlett away from his body and was caught by Cook at slip for 31.
It was not the start Australia needed as they try to avoid losing four successive Ashes series -- something which last happened in 1890 -- and defend an unbeaten record at the Gabba stretching back 25 years.
"I think we're in a great position. We have two wickets in hand and we can put some more runs on the board," Johnson said.
"We're going to put it back on them. The position we're in is definitely par for today."
Broad had a fascinating duel with the pugnacious Warner, who hooked his first ball to the boundary and then dabbed an audacious upper-cut high over the slips for four.
But Broad then prised the key wicket of Watson, who needlessly played outside his off-stump and was snapped up by Graeme Swann in the slips.
Australia 1st innings:
Chris Rogers c Bell b Broad 1
David Warner c Pietersen b Broad 49
Shane Watson c Swann b Broad 22
Michael Clarke c Bell b Broad 1
Steve Smith c Cook b Tremlett 31
George Bailey c Cook b Anderson 3
Brad Haddin not out 78
Mitchell Johnson b Broad 64
Peter Siddle c Cook b Anderson 7
Ryan Harris not out 4
Extras (lb11, w1, nb1) 13
Total (8 wkts; 90 overs) 273
Fall of wickets: 1-12 (Rogers), 2-71 (Watson), 3-73 (Clarke), 4-83 (Warner), 5-100 (Bailey), 6-132 (Smith), 7-246 (Johnson), 8-265 (Siddle)
Bowling: Anderson 22-5-61-2, Broad 20-3-65-5 (1nb, 1w), Tremlett 19-3-51-1, Swann 26-4-80-0, Root 3-1-5-0