Group A, Bulawayo: Australia 248-3 (47.3 overs) beat Zimbabwe 246-9 (50 overs) by seven wickets.
Australia maintained their perfect record at the World Cup as they qualified for the Super Sixes with a clinical seven-wicket victory over Zimbabwe in Bulawayo.
Damien Martyn, Darren Lehmann and Adam Gilchrist all hit half-centuries for the world champions as they reached their target with 15 balls to spare.
Andy Flower and Andy Blignaut had earlier helped Zimbabwe dig themselves out of trouble to finish on 246-9 from their 50 overs.
But Gilchrist (61), Matthew Hayden and captain Ricky Ponting all kept the run rate up for Australia, allowing Martyn and Lehmann to steer them home.
Australia had decided to fulfil the fixture despite England's refusal to play in Zimbabwe earlier in the tournament.
And they controlled the match from the start after Zimbabwe captain Heath Streak won the toss and decided to bat first.
Partnerships were always going to be the key and we had good ones right through the innings
Australia captain Ricky Ponting
Jason Gillespie claimed the wicket of Guy Whittall for one in the fourth over and reduced Zimbabwe to 28-2 when Craig Wishart played on.
Before the match about 10 demonstrators spoke out in support of Andy Flower and Henry Olonga, who had been warned not to repeat their black armband protest against Robert Mugabe's regime.
Flower appeared without his armband to steady the Zimbabwe innings with a methodical partnership of 84 with his brother Grant.
Grant was eventually run out for 37 by a superb long throw from Aussie wicketkeeper Adam Gilchrist.
And Andy followed just two overs later when he was clean bowled by a flipper from Brad Hogg.
Hogg then bowled Dion Ebrahim and had Doug Marillier caught by Ponting in successsive balls to leave Zimbabwe in deep trouble on 142-6.
But Blignaut took the fight to Hogg and Gillespie with some fearsome blows as he registered Zimbabwe's second-quickest one-day fifty in just 25 balls before being dismissed by Brett Lee soon after.
Tatenda Taibu and Streak (28 not out) also added valuable runs at the end of the innings to give Zimbabwe's bowlers hope.
We played with confidence but we were about 30 runs short
Zimbabwe captain Heath Streak
Taibu was finally bowled by a Glenn McGrath yorker for 23 in the final over and Brian Murphy followed for one in identical fashion.
Gilchrist got Australia's innings off to a flying start with a flurry of boundaries after surviving a scare when he was dropped in the second over by Douglas Hondo.
Hayden made 34 before he was caught by Grant Flower off Hondo and Gilchrist then hit a long hop from Marillier straight to midwicket.
Ponting kept the scoreboard ticking over until he was caught and bowled for 38 by Brian Murphy.
And Martyn (50 not out) and Lehmann (56 not out) reached their fifties just in time, Lehmann sealing victory with a final boundary.
Australia: Ricky Ponting (captain), Adam Gilchrist, Matthew Hayden, Damien Martyn, Darren Lehmann, Michael Bevan, Andrew Symonds, Brad Hogg, Brett Lee, Jason Gillespie, Glenn McGrath.
Zimbabwe: Guy Whittall, Craig Wishart, Andy Flower, Grant Flower, Dion Ebrahim, Tatenda Taibu, Heath Streak (captain), Doug Marillier, Andy Blignaut, Brian Murphy, Douglas Hondo.
Umpires: David Orchard (South Africa), Billy Bowden (New Zealand).