Italian teenager Jannick Sinner reached his first ATP Masters 1000 final with a stunning victory at the Miami Open.
The 19-year-old world number 31 recovered from a break down in the final set to beat Spanish seventh seed Roberto Bautista Agut 5-7 6-4 6-4.
Sinner will face either Russian fourth seed Andrey Rublev or Hubert Hurkacz of Poland in Sunday's final.
"It sounds incredible to reach the final. I am very happy," said the French Open quarter-finalist.
"At the beginning, we were both a bit tight but it was windy today so I just tried to serve better, move him a bit more and mix it up - that was the key."
The pair met last month in Dubai, with Sinner winning in three sets.
The 1000 events are the highest level of Masters tournaments on the ATP Tour.
He becomes the second-youngest Miami Open finalist after Rafael Nadal in 2005 and will be chasing his third career ATP title after winning last year in Sofia and an Australian Open warm-up tournament in Melbourne.