Rafael Nadal's bid for a sixth Madrid Open is over after he was beaten by Stefanos Tsitsipas in the semi-final.
Greek 20-year-old Tsitsipas, the eighth seed, came through 6-4 2-6 6-3 in a thrilling encounter.
He will play top seed Novak Djokovic in Sunday's final after the Serb earlier overcame Austrian Dominic Thiem 7-6 (7-2) 7-6 (7-4).
Nadal's defeat on the Madrid clay comes just two weeks before he bids for a 12th French Open title in Paris.
Tsitsipas, one of the most exciting young players in the game, beat Roger Federer at this year's Australian Open and, though he had never beaten Nadal, produced a brilliant performance to see off the Spaniard on his favourite surface.
Nadal's defeat was his third straight semi-final exit on clay after losing to Fabio Fognini in the Monte Carlo Masters and Thiem in the Barcelona Open.
Tsitsipas said: "It means the world, it's really nice to be able to play this way, it's an unbelievable feeling.
"I had to show mental discipline, and being tough and decisive in those crucial moments was key, I had to take all opportunities because Rafa is a fighter, he doesn't give you many points."
Tsitsipas, who beat Djokovic in the Rogers Cup in Toronto last August, said he was looking forward to another match with the Serbian.
"I'll have to be mentally prepared for Djokovic, I'm sure he wants the title as badly as me."
The Greek made a fine start against Nadal, breaking the Spaniard's serve three times in the opening set, but the 17-time Grand Slam champion looked to have swung the match in his favour by winning four straight games at the end of the second.
Tsitsipas saved break points early in the third and then earned a break of his own to move to move 3-2 in front before another soon after took him 5-2 ahead.
Nadal then denied Tsitsipas when his opponent was serving for the match before the contest ended with a thrilling final game.
Nadal saved Tsitsipas' first match point at 30-40 before hitting a sensational pick-up winner and a fine drop shot to see off two more, leaving his home crowd gasping in disbelief.
But when the Spaniard hit a volley into the net on the following point to give Tsitsipas a fourth match point, the Greek closed out the match.
Djokovic finding form before Paris
World number one Djokovic reached his third Madrid final earlier on Saturday with a gruelling win over Thiem.
The match lasted two hours and 24 minutes and secured Djokovic a first clay-court final of the season.
Thiem, the runner-up in the previous two Madrid finals, led by a break in both sets but Djokovic fought back to win.
Elsewhere, Roger Federer has confirmed he will play in next week's Italian Open as he continues to build-up to his first French Open for four years.
The 20-time Grand Slam champion played his first clay-court event in three years in Madrid, reaching the quarter-finals before losing to Thiem.
Federer has never won in Rome and will receive a first-round bye for the tournament which begins on Monday.