Roger Federer continued his fine form on the American hard courts to beat Canadian teenager Denis Shapovalov and reach the Miami Open final.
The 37-year-old Swiss, who lost in the Indian Wells final to Dominic Thiem, won 6-2 6-4 to reach back-to-back ATP Masters 1000 finals.
Federer will meet defending champion John Isner for the title on Sunday.
Isner, 33, reached another Miami final by ending Canadian teenager Felix Auger-Aliassime's historic run.
The American edged out his 18-year-old opponent, who was playing in his first Masters semi-final, in a 7-6 (7-3) 7-6 (7-4) victory.
Federer ensured he reached his fifth Miami Open final by beating 19-year-old Shapovalov, who was not even born when the 20-time Grand Slam winner made his debut at the Florida tournament in March 1999.
It was the biggest age gap between opponents in the quarter-finals or later of an ATP Masters 1000 and the biggest gap in Federer's career.
Experience showed as Federer won 61% of the points in a one-sided first set, dropping just four points on his own serve, as he wrapped up the first set in 36 minutes.
Shapovalov, who will rise into the world's top 20 next week, failed to convert two break points in Federer's first service game - and was punished in the next game as his illustrious opponent pounced to lead by a set and break.
Federer, described by Shapovalov as his idol, was unable to take a match point at 5-3 before clinically rounding off the victory in one hour and 14 minutes on his own serve.