World number four Alexander Zverev beat Spaniard Carlos Alcaraz, and Frances Tiafoe will meet him in the final after defeating Jannik Sinner.
World number four Zverev needed just over an hour to beat the young Spaniard, who had got past Brits Daniel Evans and Andy Murray earlier in the week.
The match went with serve until the seventh game of the first set, when Zverev set up two break points and converted the second of them.
Djokovic, Alcaraz, Sinner, Ruud & Nadal - Plotting Murray's path to Wimbledon glory
The German then held comfortably to take a 5-3 lead and then broke Alcaraz’s serve for the second successive game to leave himself one set from the final.
Alcaraz regained his composure at the beginning of the second set as he won his first two service games to keep himself in the match.
However, Zverev took his first break point opportunity of the second set, in the sixth game, to take a decisive 4-2 lead.
The German then held to extend that advantage to 5-2. Alcaraz did likewise to make the 24-year-old serve for the match and created a break point opportunity to keep himself in the match.
He could not take it though, and at the second attempt Zverev converted match point to book his place in Sunday’s final against either Francis Tiafoe.
In the day's second game, Tiafoe looked like he was on his way out against seventh seed Sinner, with the Italian taking the first set 6-3.
However the American claimed the second set 7-5 before cruising to a 6-2 win in the final set.

Tiafoe recovers to beat Sinner 3-6 7-5 6-2 and reach Vienna final

Djokovic, Nadal avoid unseeded big names at Wimbledon, Murray learns fate
Federer 'the most beautiful player I've ever watched' says McEnroe