Italian teenager Jannik 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.
He faces Poland's Hubert Hurkacz in Sunday's final, after he beat Russian fourth seed Andrey Rublev 6-3 6-4.
"It sounds incredible to reach the final. I am very happy," said French Open quarter-finalist Sinner.
"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.