Alejandro Davidovich Fokina produced a major upset by defeating top seed Alexander Zverev 5-7 6-4 6-3 on Saturday to reach the Shanghai Masters final, where he will face either former world number one Daniil Medvedev or fellow Spaniard Rafael Jodar.

The 25th seed fired 36 winners in the two-hour, two-minute contest to secure only his second victory over Zverev in eight meetings. His previous win against the German came in the round of 32 at the Canadian Open in 2023.

Davidovich Fokina, 27, broke Zverev for the first time in the match as he captured the second set to force a decider, sealing it with a brilliant point on set point in an entertaining contest played before a lively crowd.

Carrying his momentum into the decider, Davidovich Fokina broke Zverev for a 2-0 lead and never relinquished control, booking a place in the second ATP Masters 1000 final of his career after finishing runner-up in Monte Carlo in 2022.

The result was one of the biggest wins of his career.

Zverev, a seven-time ATP Masters 1000 champion, enjoyed his best run in Shanghai in 2019, when he finished runner-up to Medvedev.

Fifth-seeded Russian Medvedev was taking on 12th-seeded Jodar, 20, in the second semi-final later on Saturday.