World number two Carlos Alcaraz was knocked out of the Miami Open quarter-finals on Thursday, beaten 6-2, 6-4 by Bulgarian Grigor Dimitrov.
Dimitrov played sparkling and energetic tennis to beat the Spanish top seed and will now face Germany's Alexander Zverev for a place in the final.
Germany's Zverev held off rising Hungarian Fabian Marozsan 6-3, 7-5 to book his place in the semis.
Jannik Sinner and Daniil Medvedev will play in the other semi-final -- a rematch of the Australian Open final won by Sinner in January.
Alcaraz came into Miami on the back of his title in Indian Wells and with his sights set on the "Sunshine Double".
But from the outset, Dimitrov, who also beat Alcaraz in the fourth round in Shanghai, showed no fear as he attacked Alcaraz and broke early to take a 3-0 lead.
The Bulgarian pounced on every opportunity, coming to the net frequently and moving Alcaraz around the court.
He looked to be on his way to a comfortable two-set victory after he broke the Spaniard in the fourth game and then held for a 4-1 lead.
But Alcaraz was not about to roll over, breaking back to go 4-3 after smashing a cross-court winner at the end of an entertaining rally.
With the match back on serve, a tie-break seemed inevitable. But with Alcaraz serving to stay in the match, Dimitrov broke him when the Spaniard went wide and Dimitrov's arms went high in the air in celebration.
"In order to win against him, you have to play at your best. That's just how it is," said Dimitrov.
"I came into the match very focused and I think extremely clear on what I had to do. Sometimes simplicity is genius. It's very, very hard to do it, especially when you play against an opponent like that. But I was able to really dictate the game,
"Honestly, it was a very, very great match on my end. And I'm just happy I finished it straight sets for once," he joked.
Alcaraz conceded he just had no answer to Dimitrov's brilliant performance.
"I have a lot of frustrations right now, because he made me feel like I'm 13 years old. You know, it was crazy," Alcaraz said.
"I was talking to my team saying that I don't know what I have to do. I don't know, you know, his weakness. I don't know anything. That's why I have frustration right now."
Alcaraz said that he thought he had played better than in his loss to the Bulgarian in Shanghai in October.
"In China I made more mistakes, in the first, second ball, than today. I think he played even better today. He played great. I couldn't find solutions in today's match. His game was perfect," he said.
World number five Zverev knew he had to be wary of Marozsan, ranked 57th but heading into the top 40 having claimed two top-10 victories in this tournament beating Holger Rune and Alex de Minaur.
But the Hungarian struggled to cope with Zverev's big serve in the opening set and couldn't find his rhythm.
There was little to choose between the pair in the second set, with the Hungarian keeping the pressure on Zverev.
But Marozsan missed some crucial points late in the set when going to the net and in the end was broken in his final service game.
Zverev was delighted to have the chance to return to the final.
"I mean, I love Miami, I always said that, obviously I'm happy to be back at these kind of late stages of these tournaments, playing the best players in the world. I think there's only those left and I'm looking forward to the challenge," he said.
The German was full of praise for his opponent, predicting he will continue to climb higher in the rankings.
"If he continues playing like that, he's going to rise up the rankings very quickly and he's going to be one of those guys himself," he said.
"He always rushes us good players. All the top players, when they're in control, they feel like they can manage the match, manipulate the match a little bit in their own favor and against him that's not possible.
"So I think that's why he has such a great top-10 record. He's an unbelievable player."
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ