The home team, who started the match as hot-favourites, had been dismissed for a modest total of 237 off 49.1 overs but Pakistan couldn't drive home the advantage, making 219 for 9 in reply on Friday.
Pakistan lost early wickets, crashing to nine for 3 then 27 for 4 as the Australians, renowned for defending small totals, fought back.
Australia went into the match without established opener Matthew Hayden who, after a string of poor performances, was dropped for Michael Clarke despite the recommendations of captain Ricky Ponting that he be retained.
But Clarke, who has been a big success throughout the series, could make just nine runs before he was trapped lbw by Rana Naved-ul-Hasan.
For Australia, veteran pace bowler Glenn McGrath, playing in his 200th one-day international, also captured his 300th wicket in this format when he dismissed Mohammad Hafeez for 13.
One-day specialist Andrew Symonds anchored an otherwise lacklustre Australian innings with a 137-run partnership with Damien Martyn.
He was eventually caught by Pakistan captain Inzamam-ul-Haq off Abdul Razzaq for 91 from 101 deliveries while Martyn made 53 from 78.
For Pakistan, Shoaib Malik top-scored with 66 while Inzamam scored his fifth half century in seven innings' of the series, making 51 off 83 balls.
Allrounder Abdul Razaq was the best of the Pakistan bowlers with 3-33 from 10 overs.
The two teams will now contest a second final in Sydney on Sunday. If needed, a third final will be played in Adelaide next Tuesday.
Match scores: Australia 237 (49.1 overs), Pakistan 219 for 9 (50 overs).