Fifth-seeded Tsitsipas won 6-3, 6-3, 4-6, 4-6, 6-3 and will face either 13-time champion Rafael Nadal or world number one Novak Djokovic in the championship match.
However, the 22-year-old will have his work cut out on Sunday – he is 2-7 against Nadal and 2-5 playing Djokovic.
“All I can think of is my roots, a small place outside Athens where I dreamed to play on the big stage at the French Open,” said a tearful Tsitsipas on making his first final at the majors, secured on a fifth match point.
Tsitsipas was the first to pounce with the only break of the opening set in the second game. The rock-solid Greek didn’t give up a single break point although in an indication of the fine margins, Tsitsipas only hit one winner.
Zverev raced into a 3-0 lead in the second set. However, Tsitsipas’ greater composure saw him rack up six consecutive games to move two sets ahead.
But Zverev carved a break in the third game of the third set and this time backed it up despite a lengthy, foul-mouthed rant at the umpire over a disputed line call.
The 24-year-old German, now fired up, broke in the opening game of the fourth set and levelled the semi-final in the 10th game on the back of a brutal 27-shot rally.
Tsitsipas crucially saved three break points in the first game of the decider. He made the most of the escape, breaking the German for 3-1 and quickly securing the advantage for 4-1.
In a 10-minute eighth game, Zverev saved four match points, the second of which with a drop shot, the third with an ace.
However, Tsitsipas held his nerve and claimed victory after over three and a half hours on court with his eighth ace of the match. (AFP)