Michael Clarke made 80 not out and Ricky Ponting 66 as Australia saw off Bangladesh by six wickets on Thursday in the last group match of a triangular series.
The world champions, who take on England in the tournament final at Lord's on Saturday, put Bangladesh in and always looked in control despite being below their best.
They were deprived of an early finish, however, by some determined batting by Shahriar Nafees (75) and Khaled Mashud (71 not out) as Bangladesh recovered from 19 for three, then 75 for five, to score a respectable 250 for eight.
Australia, untroubled by light rainshowers, got home with 11 balls left.
Their captain, however, said he was only partly satisfied. "The run chase was pretty comfortable but it was a bit worrying again, with the ball," said Ponting, whose team rested Glenn McGrath. "Hopefully we can improve for Saturday."
Matthew Hayden went early for a single, caught behind off Mashrafe Mortaza but Adam Gilchrist, who took five catches during the Bangladesh innings, set Australia's chase on its way with 45 off 36 balls.
Damien Martyn missed out but Ponting and Clarke put on 85 for the fourth wicket before Clarke and Andrew Symonds made sure of victory with an 86-run unbroken stand.
The Australian innings, perfectly paced, was short on fireworks until Symonds rattled off a string of powerful blows near the close, including a six over mid-wicket off Khaled Mahmud's medium pacers.
Bangladesh, who beat Australia in their first game of the tournament to record one of the great one-day upsets, already knew they would not grace the final.
But they put on a spirited show. The 19-year-old Nafees and wicketkeeper Mashud, ignoring some rash shots from his team mates, put on 94 for the sixth wicket before the innings ended in a flurry of runs, 72 runs coming off the last 10 overs.
Shane Watson took three wickets for 43. Nafees, in only his fourth one-day international, scored his runs off 116 balls, hitting six fours.
Mohammad Ashraful, Bangladesh's exciting serial strokeplayer, went cheaply this time.
After Javed Omar and Tushar Imran both departed for ducks, the 20-year-old, with a century against the Australians earlier in the tournament, pulled his third ball from Brett Lee for six.
Lee responded next ball with a perfect yorker that clattered into Ashraful's off stump.
Wicketkeeper Mashud, who recorded his best one-day international score along with Nafees, shepherded the tail through the final overs before some well-directed slogging in the last five overs cost Australia 43 runs.