The 18th ATP meeting between the pair was a tight encounter as Medvedev came from behind in a first-set tie-breaker to snatch victory before edging ahead in the second to secure his spot in the final four with a 7-6(7) 6-4 success.
The stakes were already high as both players entered the clash with one win under their belts already in the Red Group. Zverev had beaten Carlos Alcaraz and Medvedev got the better of Andrey Rublev in straight sets.
A thrilling start to the opening set saw Medvedev break in the first game before clinching the second, but Zverev held his serve to pull one back in the third and managed to break in the sixth to tie 3-3.
The score went back-and-forth before Medvedev held in the 12th to force a tie-breaker and the drama continued as the world number three came from 1-4 down to save two set points, going on to win 7-6(7).
Aiming to continue the momentum in the second, he took the opening game before Zverev served up two aces to tie and both players held serve in another tightly-contested set.
The set looked destined to boil down to another tie-break as Medvedev held in the ninth but managed to break in the following game to earn his spot in the semi-finals.
Medvedev told the ATP website: “It was a very tough match mentally. I started very well, I was playing well.
“He was kind of not there yet, but at one moment he stepped up his game and at this moment, for whatever reason, I started playing a little bit worse for a short period of time.
“I’m happy that I managed to regroup and play better at the end of the first set. The end of both sets was very tight… In the tie-break he had set point on his serve. I’m happy because this year I might have lost some matches like this. I’m happy to be able to win.”
Medvedev will face Alcaraz in his next group game.
Join our commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies