Daniil Medvedev's bid to reclaim the world number one ranking fell short on Thursday as the Russian lost 7-6(7) 6-3 to Poland's Hubert Hurkacz in the Miami Open quarter-finals.
Defending champion Hurkacz won the first three games and fended off two break points in the seventh as Medvedev, who appeared unwell in the heat at times, struggled with his serve and had four double faults in the first set.
The Russian saved two set points to hold serve in the eighth game and broke in the ninth, but the Polish world number 10 kept his nerve in the tiebreak.
In the second set, Hurkacz broke at the sixth attempt in an 11-minute fifth game as the sweltering heat seemed to get the better of Medvedev.
Sitting on his bench after the seventh game, the US Open champion removed his sweat-drenched shirt and requested assistance from the physio, complaining of dizziness.
"All the match I was not feeling my best," Medvedev told reporters. "After the tough points, I felt that my breath was not recovering fast enough."
In the following game, Medvedev hunched over momentarily and later dropped his racket to the court after he whacked a backhand return into the net.
"Playing Daniil is always fun but it's super competitive," Hurkacz said after the match.
"I was hitting my forehand a little better and I was returning better so that was big for me."
Medvedev needed to reach the semi-finals to retake the world number one spot from Novak Djokovic. The Australian Open finalist claimed the position briefly earlier this year but lost it after a shock third-round loss at Indian Wells.
"To be honest, I played a lot of matches where I had the pressure, different one, and it's not like something new happened today in terms of like going out on court and feeling crazy tight or something," he said.
"So I don't think that nerves were part of this."
Hurkacz's win sets up a meeting with Spanish teenager Carlos Alcaraz, who came from behind to beat Serbian Miomir Kecmanovic 6-7(5) 6-3 7-6(5) in an entertaining battle under the lights at Hard Rock Stadium.
Kecmanovic took the first set before Alcaraz got an early break in the second and raced to a 3-0 lead before leveling the match.
In the third set, Kecmanovic twice needed just two points for victory - first while returning serve while leading 5-4 and again in the tiebreak, where he led 5-3 and appeared in control.
But Alcaraz, who hit 52 winners including some deft drop shots and thunderous forehands, dug deep to win the final four points before falling to his knees as the crowd roared in appreciation.
"He had chances to win the match," said the 18-year-old, who improved to 16-2 for the year.
"It was really, really close but the energy from the crowd pushed me. It was unbelievable and thanks to them, I was able to win."