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. (Agencies)
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 14 balls. 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.
It was Haddin's 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.
If not for Haddin and Johnson's fightback, Australia would have been in a parlous state after Broad had struck twice in the morning session and twice more after lunch to have the home side teetering at 132 for six.
Broad, who was vilified in the build-up for not walking at a key moment during the recent Ashes Tests in England, revelled in his bad-boy role. 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 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 in the covers to Kevin Pietersen, celebrating his 100th cap, for 49 off 82 balls.
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. Bailey only lasted 15 balls and he could have been out earlier if a snick off Anderson had carried to Cook at first slip.
Steve Smith looked effective with his unconventional shot-making, but perished when he played away from his body and sparred Chris Tremlett to Cook at slip for 31.
It was not the start Australia needed as they bid to avoid losing four successive Ashes series for the first time since 1890, and defend an unbeaten record at the Gabba stretching back 25 years.
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.
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.