Needing 20 off the final 10 balls, Matthew Wade was dropped by Hassan Ali before hitting the next three deliveries for six to complete a stunning pursuit of 177 in Dubai.
Australia had been struggling at 96-5, despite a belligerent 49 from David Warner, before Wade and Marcus Stoinis' grandstand finish.
Wade smashed an unbeaten 41 off only 17 balls, while Stoinis finished 40 not out off 31, their remarkable stand of 81 in 6.4 overs carrying Australia home with an over to spare and silencing a largely Pakistan-supporting crowd.
It was a second thrilling finale in 24 hours after New Zealand's dramatic victory over England in Wednesday's semi-final.
Australia and New Zealand, neither of whom have won the T20 World Cup, will meet in the final in Dubai on Sunday at 14:00 GMT.
Australia leave it late to seal famous win
Pakistan were favourites with Australia needing 62 off the last five overs and 37 off the final three.
Wade hit Hassan for six to give them renewed hope, before taking Pakistan's premier pace bowler Shaheen Afridi apart in an over that will live long in the memory of Australia fans, albeit after Hassan put down a tough chance on the move at deep mid-wicket with Wade on 21.
- 18.4 overs: Wade ramps a full-length ball from middle stump over fine leg for six.
- 18.5 overs: Shaheen pulls his length back slightly and Wade hoists him into the stand at deep mid-wicket.
- 18.6 overs: Wade gets into position early and ramps a straight full toss over the wicketkeeper's head.
"Not at any stage did I think the game was in the bag," said Australia captain Aaron Finch.
"The way that Matthew Wade held his nerve at the end was unbelievable. The partnership with Marcus Stoinis was crucial. It was a great game of cricket."
From 'written off' to World Cup finalists
Few would have expected Australia, who came into this tournament having lost their past five T20 series and were bowled out for 62 by Bangladesh in August, to reach the final.
They lost Finch for a duck in the first over, saw Mitchell Marsh and Steve Smith fall to Shadab Khan, and luck seemed to be against them when Warner was given out caught behind despite replays suggesting he did not edge the ball.
Stoinis overcame his struggles against spin to see off leg-spinner Shadab, who finished with 4-26, and he and Wade were content to take quick singles until freeing their arms late on.
They were helped by a below-par Pakistan. Hassan endured a dreadful day with the ball - he finished with 0-44 from four overs - but it was his drop to reprieve Wade upon which the game swung.
It was a stunning victory for an Australia side that, as Finch said, were written off before the tournament.
Rizwan shines after two nights in intensive care
Pakistan's 176-4 was built around Mohammad Rizwan's 52-ball 67 and a late flurry from Fakhar Zaman, who made 55 off 32 deliveries.
Rizwan produced a superb innings, made all the more remarkable given he spent two nights in intensive care with a "severe" chest infection.
"He made an incredible recovery and was deemed fit before the match," team doctor Najeeb Somroo said.
"We can see his great determination and tenacity that shows his spirit of performing for the country. And we can see how he performed today."
Rizwan began scratchily and was dropped on nought by Warner and by Adam Zampa on 20.
A blow to the grille of his helmet seemed to ignite his innings. After receiving treatment from the physio and with a visible mark on his face, Rizwan swung his first six before moving to his third half-century of the tournament.
He took advantage as Josh Hazlewood and Pat Cummins lost their line, the highlight a whip over long-on off the former.
After Rizwan miscued Mitchell Starc to mid-off, Fakhar provided the late impetus with two sixes off the final three balls of the innings.
It felt as though their contributions had propelled Pakistan to a winning total - until Wade intervened.