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.
'This kid is going to be No. 1' - Alcaraz will reach top spot, say Wilander and Corretja
- 'Changing of the guard has already happened' - Becker on the new era of men's tennis
- 'It is his right' - Becker on Djokovic vaccine controversy
- 'I just couldn't get going' - Raducanu not feeling 100 per cent during Transylvania Open defeat
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
‘I’ll probably get drunk! That's very popular!’ - Zverev takes jokey dig at crowd after Albot win
'Impressive' Alcaraz falls to Berrettini in five-set thriller