Zverev shocks Federer in straight sets to reach ATP final
Zverev and Federer went back and forth, holding serve in each of the first 11 games before the 21-year-old German finally broke Federer to love in game 12 to claim the first set 7-5.
Federer, 37, came storming back early in the second set to break Zverev in game three to edge ahead. But the German broke back instantly to level the scores at 2-2 and keep the upper hand over the Swiss star.
The pair could not be separated through the rest of the set as they held serve all the way to a nerve-tingling second-set tie-break.
A Federer mistake at 4/5 saw him drop his racquet then volley into the net to give Zverev two match points. Federer saved the first, but a superb backhand volley from Zverev converted the second to give the German a huge victory.
The match lasted 95 minutes and saw Zverev level the head-to-head results between the pair at 3-3 as he surged into the final of the tournament.
The German will now face the winner of the second semi-final between Serbia's Novak Djokovic and South African Kevin Anderson.