The tourists lost their last six wickets for 57 in the morning session after resuming at 234 for four.
Australia were four without loss in the only over before lunch with Justin Langer hitting a boundary.
Flintoff played the captain's knock of 89 off 142 balls with wickets tumbling around him as Australia capitalised on the second new ball.
The score saw the captain shrug off a below-par batting series with his spirited 195-minute innings of 11 boundaries and a six.
England would have been in dire trouble if not for Flintoff's contribution after the tourists crashed, losing 3-13 in three overs inside the first hour.
Australia's pacemen Brett Lee, Glenn McGrath and Stuart Clark shared nine wickets between them, with leg-spinner Shane Warne claiming the last wicket of Monty Panesar for a duck.
Lee claimed two wickets in two balls and McGrath, playing in his 124th and last Test match, claimed his third wicket of the innings in the first hour's play.
Flintoff and Paul Collingwood came under immediate pressure as skipper Ricky Ponting took up the second new ball in Lee's opening over of the day.
Collingwood was dropped by Justin Langer - one of three dropped catches by the retiring opener in the innings -- at third slip off Lee when he was on his overnight score of 25.
Then on 27 Collingwood was squared up by McGrath and gave an outside edge to Adam Gilchrist to expose the brittle English tail.
McGrath struck late on Tuesday's opening day to remove Kevin Pietersen and Ian Bell in four balls.
Wicketkeeper Chris Read survived a confident leg before wicket appeal before he was out next ball to Lee for two.
Read dabbled outside off-stump giving Gilchrist his fourth catch of the innings.
Sajid Mahmood was out next ball popping an easy catch off the shoulder of the bat to Matthew Hayden in the gully to put Lee on a hat-trick.
But Lee's hat-trick delivery was wide of off-stump not obliging Steve Harmison to play a shot.
Harmison lasted 24 balls before he was lbw to Clark for two and Flintoff's second half-century of the series ended when he played extravagantly outside off-stump and was caught by Gilchrist off Clark.
Monty Panesar, who was dropped by Justin Langer, became Warne's only wicket of the innings and his 707th in Test cricket when he was lbw attempting to sweep to terminate the England's innings.
McGrath finished with 3-67 off 29 overs, Lee 3-75 from 22 overs and Clark 3-62 off 24 overs.
England 291 (Andrew Flintoff 89, Ian Bell 71; McGrath 3 for 67, Lee 3 for 75, Stuart Clark 3 for 64) Vs Australia 4/0