Thiem, 26, won 3-6 6-4 7-6 (7-3) 7-6 (7-4) in a match briefly interrupted by rain and a lighting failure.
The Austrian fifth seed said “it was an unreal match” and he will now look to win his first Grand Slam, after losing the past two French Open finals.
Djokovic is favourite to win a record-extending eighth title and 17th major.
The 32-year-old has lost just three matches in the past 10 Australian Open tournaments.
German seventh seed Zverev, 22, was bidding to reach his first Grand Slam final but instead, it his good friend who will play for the title.
“To reach the Australian Open final is unreal,” said Thiem, who will bid to become only the second Austrian player – after Thomas Muster at the 1995 French Open – to win a Grand Slam.
“Two tie-breaks, so tough and so close, it was almost impossible to break him.”