The embattled tourists put aside unrelenting months of heavy defeats in the five Ashes Tests, the 20-20 international and the one-day series to crush the Australians by 92 runs to keep alive their chances of leapfrogging New Zealand into this month's best-of-three finals.
Led by a defiant maiden century from man-of-the-match Ed Joyce and inspired bowling from Liam Plunkett, England posted their highest total of the tri series with 292 for seven off their 50 overs and claimed a vital bonus point after Australia finished on 200 for nine off 38.5 overs on Friday.
Australia finished one wicket short when Andrew Symonds retired hurt with a strained bicep for 39 and was unable to bat again.
England joined New Zealand on nine points in the standings behind the runaway leaders Australia and if they can beat the Kiwis in Brisbane next Tuesday they will defy the odds and take on the Australians in the finals, starting in Melbourne on February 9.
It was a rousing return to form for Andrew Flintoff's beleaguered team, who faced the dire prospect of going through their three-month tour without winning a game against Australian opposition.
But Joyce, dropped twice, scored 107 off 142 balls to help England post a competitive score and put the Australians under pressure for the first time in the tri-series, having them reeling at 45 for three and never recovering.
Adam Gilchrist, deputising for injured skipper Ricky Ponting, was bowled first ball by Plunkett and Ponting's replacement Brad Hodge chopped Sajid Mahmood on to his stumps for one to have Australia four for two after just eight balls.
Matthew Hayden top-scored with 51 off 105 balls but once Symonds retired hurt and the crucial wicket of Mike Hussey fell for six, bowled by Ravi Bopara, the task proved impossible for the home team, accused during the week of being arrogant.
The Australian innings finished after just 38.5 overs when Shaun Tait was run out by a direct throw by Ian Bell for 11.
Plunkett, shunned for the Ashes Test series, finished with 3-24 off 9.5 overs and Mahmood chipped in with 2-38 off seven overs.
Irishman Joyce, dropped by Tait on six and later by Symonds off his own bowling for 59, was the shining light for England, hitting 10 boundaries before he was caught by Nathan Bracken off Tait.
England's total surpassed their 260 for eight against New Zealand in Perth last week.
Bell hit 51 off 60 balls before he top-edged a pull shot off Glenn McGrath and spooned a catch to wicketkeeper Gilchrist.
Joyce's opening partner Mal Loye was struck a fearsome blow on the grille of his helmet when he attempted to slog-sweep McGrath, suffering a gashed chin which needed three stitches. He was later cleared of a fractured jaw.
Loye, who resumed batting after lengthy treatment from the trainer, was out next ball as he top-edged a hook shot off McGrath to be caught by Bracken for 29 off 33 balls.
Flintoff only lasted 10 balls before he was leg before wicket to leg-spinner Cameron White for three and Andrew Strauss, batting at number five, cracked 26 off 24 balls with three fours before he was caught at backward square leg by Stuart Clark off Bracken.
Wicketkeeper Paul Nixon lasted two balls for four and Jamie Dalrymple was run out after a mix-up with Ravi Bopara for 30.
Bracken finished with 2-53 off nine overs and McGrath 2-51 off 10 overs.
England 292 for 7 in 50 overs (Ed Joyce 107, Ian Bell 51, Dalrymple 30, Mal Loye 29, Strauss 26; McGrath 2 for 51, Shaun Tai 2 for 68 White 1 for 28) beat Australia 200 all out in 38.2 overs (Matthew Hayden 51 Symonds 39 retd hurt; Plunkett 3 for 24, Mahmood 2 for 38, Ravinder Bopara 1 for 19) by 92 runs