France's Arthur Fils upset top-seed Alexander Zverev with an outstanding display earning him a 3-6, 6-3, 6-4 win over the German in the fourth round of the Miami Open.
The 20-year-old Frenchman will face 19-year-old Czech Jakub Mensik in the quarter-finals with both players chasing their first Masters 1000 semi-final spot.
Rallying from a set down on Wednesday, Fils showed great determination to fight his way back and go 4-1 up in the second set.
Zverev responded to take a 3-1 lead early in the third but again Fils refused to let the match slip from his grasp.
Fils, using his athleticism and his powerful forehand, broke back to 3-2 and then when Zverev went long on a return took a 4-3 lead.
Zverev held when serving to stay in the game at 5-4 down but Fils kept his composure to serve out for one of the biggest wins of his career.
The victory was all the more impressive given that Fils later revealed he was suffering from back pain.
"I was feeling not great in the rallies. I've had a little problem in my back since I was young, so sometimes it hurts me a little bit," explained Fils.
"I had to find a rhythm, [be] more aggressive and come into the court to play my game and not let him play, because when you let him play he is one of the best tennis players in the world. I'm really happy about the way I did it," he added.
Fils had also reached the quarter-finals at Indian Wells this month and he becomes the first Frenchman to make the last eight in both legs of the "Sunshine Double" since Gael Monfils in 2016.
In the opening quarter-final, Bulgarian Grigor Dimitrov battled back from a set down to beat Argentine Francisco Cerundolo 6-7 (6/8), 6-4, 7-6 (7/3) in a riveting duel.
After Cerundolo edged the first, the 33-year-old Dimitrov found his rhythm and was relentless in forcing Cerundolo to work on the baseline for every point.
Cerundolo was 6-5 up in the third set and had one match point but Dimitrov showed his grit again and was able to hold and force the contest to a tie-break.
Dimitrov raced out to a 3-0 lead and never looked in danger as he ran out the winner to book his place in the semi-finals where he will face the winner of Wednesday's later match between Novak Djokovic and American Sebastian Korda.
An exhausted Dimitrov needed medical attention at the conclusion of the match, skipping the on-court interview. (AFP)