Alexander Zverev booked his place in Sunday’s final against Russia’s Daniil Medvedev as he outclassed world number one Novak Djokovic on Saturday.
A tight first set saw both players look comfortable on serve until Djokovic, helped by clinching a 34-shot rally with a deft backhand, earned a set point at 5-4.
Zverev saved that and was unable to take two break points himself in the next game as the opener moved into a tie-break.
The 2018 champion continued to play with patience, power and precision, allowing him to edge the tie-break and become the first opponent to take a set off 34-year-old Djokovic this week.
There were signs early in the second set of Djokovic losing focus, only for the 20-time Grand Slam champion to recover strongly and break for 5-4 before serving out to force a decider.
Zverev broke for a 3-1 lead in the third set after Djokovic lost patience in the rallies and made four unforced errors in the game.
After surviving a break point to hold for a 5-2 lead, the German served out to love to become the only player to beat Djokovic twice in another highly successful season for the Australian Open, French Open and Wimbledon champion.