Jannik Sinner reached his first Masters final at the Miami Open after producing a scintillating finish to beat Roberto Bautista Agut in three sets.
After dropping the opening set, Sinner managed to hold from 0-40 down at 3-3 in the second set before levelling the match.
Then, from 3-1 down in the third set, the 19-year-old played some superb tennis to get back into the contest and finished with a flurry of winners to seal a 5-7, 6-4, 6-4 victory.
'Absolutely colossal!' - Sinner overpowers Nadal with 'monster hit'
He is the first teenager to reach the Miami Open final since Novak Djokovic won the title in 2007 and will next face either Andrey Rublev or Hubert Hurkacz.
"I am very happy," said Sinner. "We had a tough battle two weeks ago [in Doha] and to come out as the winner today means a lot today.
"In the beginning I think we were both a bit tight. Then after we both played a bit better. At the end I just tried to serve better, tried to move him a bit more and mix things up a bit. I think that was the key today."
After shocking top seed Daniil Medvedev in the previous round, world No 12 Bautista Agut started the semi-final in perfect fashion as he broke in the opening game.
Sinner missed two break points in the next game but levelled at 3-3. However, the 19-year-old was broken again later in the set and Bautista Agut served it out to move ahead.
It looked as though the Spaniard would make the decisive break at 3-3 in the second set as he got to 0-40 on the Sinner serve. But the Italian showed superb resilience to get out of the situation with three winners and hold.
He then held again from 0-30 down in his next service game before breaking Bautista Agut to take the set.
The momentum seemed to be slipping away from Sinner in the third set as he lost his serve to love and quickly fell 3-1 behind.
But again he came back, getting on level terms at 3-3 and then breaking to love to win the match in style.
Sinner breaks straight back against Nadal in clash
'Phenomenal' Nadal storms past Sinner to reach quarters