Teenager Carlos Alcaraz prevailed 6-2, 1-6, 6-3 over Rafael Nadal in a Spanish clash of the generations at the Madrid Open on Friday, claiming his first victory over his idol and setting up a semi-final showdown with world number one Novak Djokovic.
In a topsy-turvy contest at the Manolo Santana Stadium, Alcaraz weathered an ankle injury to produce a statement performance to become the first Spanish player to beat Nadal since Fernando Verdasco at the 2016 Australian Open.
"It means a lot to me. All the hard work I put in every day has paid off. To beat Rafa -- the best player in history on clay -- it means a lot," Alcaraz said.
Alcaraz endured a straight-sets loss to Nadal in Madrid a year ago on his 18th birthday, winning only three games as a 120th-ranked wildcard.
The pair met again in March in the Indian Wells semi-finals where the older Spaniard won in three sets but not before Alcaraz underlined his huge potential. A day after turning 19, he finally exacted revenge on his 35-year-old compatriot.
Alcaraz dominated in the opening set and dictated the points but twisted his ankle in the second when trying to reach for a game-winning forehand.
Nadal took advantage of the stumble to cruise past the younger Spaniard after play was briefly suspended when a spectator was taken unwell.
Nadal looked set to carry the momentum into the decider but Alcaraz rediscovered his form and held his nerve to see off the challenge from the 21-times Grand Slam champion.
"The fall in the second set affected me a lot," Alcaraz added. "When I lost the second (set), I went to the bathroom and thought I was able to come back to do my best and try everything.
"I wanted to fight until the last ball and that was the key."
Alcaraz will face Djokovic, who eased 6-3 6-4 past Hubert Hurkacz earlier, for a place in the final and joked that he would turn to Argentine David Nalbandian for advice on how to topple the Serb.
Nalbandian beat third seed Djokovic in the 2007 Madrid Open semi-final, having defeated third-seeded Nadal in the previous round, before stunning top seed Roger Federer in the final.
"I will text Nalbandian on how he did it," Alcaraz said.
"I'm focusing on tomorrow... I will fight and let's see what happens."
Earlier, World No 1 Novak Djokovic eased past Hubert Hurkacz with a routine 6-3, 6-4 victory on Friday to advance to the Madrid Open semi-finals, as he bids for a fourth title in the Spanish capital.
Djokovic looked much more like his usual self at the Manolo Santana Stadium on a sunny day in Madrid as he continued to work his way back towards top form ahead of the French Open, which begins later this month.
The 34-year-old was given a walkover into the quarter-finals when opponent Andy Murray withdrew from their highly anticipated clash due to illness and the top-seeded Serb got straight down to business against Hurkacz.
Having raced to a 3-0 lead in the first set, Djokovic closed it out in 36 minutes and maintained the pressure in the second. He got the crucial break at 3-2 and triumphed after an hour and 20 minutes.
Djokovic sent down 16 winners while he did not face a break point from Hurkacz, and extended his perfect record against the Pole to 4-0.
"The first set I think we both didn't play so great, took us both time to adapt to conditions," Djokovic said.
"Second set, I think better quality tennis. I was serving really well. I am pleased with the way I was constructing the point."
Djokovic will face the winner of the match between world number four Rafael Nadal and Carlos Alcaraz, which takes place later on Friday, for a place in the final.
"They're the two best players this year, with the results they've had," Djokovic said. "Rafael is playing well, it didn't seem like anything is bothering him in the last few matches... He's very close to his best.
"And Carlos as well, I mean he's living the dream isn't he? He's playing amazing tennis and he's improved so much... It's going to be a good match."