Frances Tiafoe will face Alexander Zverev in the Vienna Open final after storming back from the brink of defeat to beat Jannik Sinner.

Sinner was on the cusp of another final after his triumph in Antwerp last weekend when he led 5-2 in the second set, but qualifier Tiafoe roared back to win 3-6 7-5 6-2 on Saturday.

Italian Sinner had moved into the last qualifying position for the ATP Finals by beating Casper Ruud to reach the semi-finals in the Austrian capital and appeared destined to extending his winning run.

The 49-ranked Tiafoe had other ideas, winning five games in a row to force a deciding set.

Tiafoe maintained his momentum, breaking twice in the final set to complete an astonishing comeback and leave seventh seed Sinner shellshocked.

Second seed Zverev earlier marched into his fifth tour-level championship match of the season with a 6-3 6-3 defeat of Spanish teenager Carlos Alcaraz.

Zverev, who this week secured a 50th tour-level win of the season and a 300th of his career, needed only 68 minutes to knock Alcaraz out.

The German said: "I finally found my rhythm from the baseline because I was really struggling.

"I didn't feel the ball well and I spent some time on the court after the match yesterday and warmed up for an hour and a half before the match today and I finally got it."

Marin Cilic and Taylor Fritz will do battle in the St Petersburg Open final following contrasting wins over Botic Van de Zandschulp and Jan-Lennard Struff respectively.

Cilic did not face a break point in a 6-3 6-3 victory over Dutchman van de Zandschulp, while fought back to defeat Jan-Lennard Struff 5-7 6-1 6-3.