Teenage rising star Carlos Alcaraz shocked world number one Novak Djokovic in a three-set thriller to reach the Madrid Open final.
The 19-year-old Spaniard followed up his quarter-final win over Rafael Nadal with a 6-7 (5-7) 7-5 7-6 (7-5) success.
Alcaraz coped with everything Djokovic threw at him and delighted the home crowd with some brilliant drop shots.
He will face German defending champion Alexander Zverev or Greek fourth seed Stefanos Tsitsipas in Sunday's final.
Alcaraz becomes the first player to beat 21-time Grand Slam champion Nadal and 20-time major winner Djokovic on consecutive days on a clay court.
He is enjoying a superb season, winning a first Masters 1000 title in Miami last month which has helped him into the top 10 of the world rankings for the first time.
"This gives me a lot of confidence to play the final tomorrow," said Alcaraz.
"I know that I played a really good game, and for the rest of the season I think I am able to play against the best players in the world and beat them as well, so it gives me a lot of confidence."
The teenager started strongly, breaking Djokovic in the opening game, but the Serb found his way into the match and broke back in the eighth game to make it 4-4.
Alcaraz gave his opponent a couple of break-point chances late in the set but Djokovic was unable to capitalise. He went 6-2 up in the first-set tie-break and although the Spaniard brought it back to 6-5, Djokovic took it.
The second set was equally tight but Djokovic's energy seemed to slip late on and he put in a tired-looking service game that the teenager made the most of to level the match.
Djokovic found his rhythm again in the deciding set but he was put under pressure on his serve when Alcaraz earned a match point in the 10th game.
But the Serb responded brilliantly with an ace and went on to level the match at 5-5. Both players held their next service game and the match would be decided on another tie-break.
Alcaraz seized the early advantage, going 2-0 ahead and he maintained his lead, sealing victory on his third match point with a forehand winner to become the youngest-ever Madrid finalist.