American qualifier Frances Tiafoe rallied from a set and 5-2 down to beat Jannik Sinner 3-6, 7-5, 6-2 Saturday and set up a final against Alexander Zverev at the Erste Bank Open.
Zverev defeated Spanish teenager Carlos Alcaraz 6-3, 6-3 to reach his fifth tour-level final of the season.
The seventh-seeded Sinner had won his previous 11 matches and 22 sets on indoor hardcourt and the 20-year-old Italian looked set to continue his streak when he came within one game of another two-set win.
However, the 49th-ranked Tiafoe won eight of the next nine games to take the second set and build a 3-1 lead in the third. He added another break before closing out the win with his seventh ace of the match.
Tiafoe is after his second career title, three years after winning in Delray Beach as a 20-year-old and becoming the youngest American winner on the ATP tour since Andy Roddick was 19 when he triumphed in Houston in 2002.
Tiafoe is 1-5 in career meetings against Zverev, with his only win coming in Cincinnati four years ago.
Zverev, who is 4-0 in finals this season, has 17 career wins. The second-seeded German improved to 24-2 since losing to Felix Auger-Aliassime in the fourth round of Wimbledon, a run that included titles at the Tokyo Olympics and the Cincinnati Masters.