The defeat also deprived him of a 100th career title.
Zverev’s reward is a clash in Sunday’s showdown with either world No 1 Jannik Sinner or American 21st seed Ben Shelton.
While the German has been a Grand Slam runner-up twice before, at last year’s French Open and the 2020 US Open, he has never before been to the final in Melbourne.
Last year at the same semifinal stage he crashed to Daniil Medvedev in five sets after holding a 2-0 lead.
But Zverev came into the season with renewed vigour after ending 2024 as world No 2, winning more matches than anyone bar Sinner and back to his best after a horrific ankle injury.
Djokovic came into the clash with questions over his fitness after needing medical attention in his four-set quarter-final win against Carlos Alcaraz.
He said before the match he was worried about his physical condition.
But he has demonstrated remarkable powers of recovery more than once in his career and it didn’t appear to hinder him initially.
He moved with his customary zip in an opening service game that featured a 27-shot rally and again in saving four break points as his serve misfired.
It was then Zverev’s turn to save three break points and keep the match on serve at 2-2, with both players blowing hot and cold.
Another break point went begging for the German at 4-4, with Djokovic barely getting 50% of his first serves in.
It went to a tight tiebreak after which Djokovic retired.