Roger Federer handed Denis Shapovalov a tennis lesson at the Miami Open on Friday night, winning 6-2 6-4 to move into his second consecutive ATP Masters final.
Federer produced a masterclass at Hard Rock Stadium to leave up-and-coming star Shapovalov, who grew up idolizing the Swiss, chasing shadows during a difficult first set.
The Canadian enjoyed some better moments towards the end of the second, but it wasn't enough to dislodge the three-time Miami champion who now has a chance to land his 101st career crown after missing out in Indian Wells where he lost to Dominic Thiem in the final.
Federer will play John Isner , who lifted the 2018 title, in Sunday's final after the American beat Shapovalov's friend and compatriot Felix Auger-Aliassime in straight-sets in Friday's other semi-final.
"The long first game helped me get a read on his serve and I came out of the blocks well," said Federer, the number four seed who hit 30 winners with just eight coming from his opponent's racket.
"I made some minor adjustments and I was happy with my variations. I know what to expect when I play John, he's got an amazing serve so it's going to be tough for sure.
"I'll just try and get as many balls back as possible. I enjoy it."
This was Shapovalov's fifth ATP Tour semi-final and even though the 20 time Slam-winning Swiss was standing in his way of a first final, the 19 year-old stressed beforehand that it was a "dream" to take on Federer.
It quickly, however, turned into a nightmare.
The Canadian displayed understandable nerves early on, a struggle with his first serve proving as much in a 10 minute opening game which he eventually won.
Yet it didn't settle him down and when another horribly loose backhand flew long, Federer pocketed a vital early break for 2-1.
Shapovalov hit 14 unforced errors in the opening four games and when the 37-year-old Federer was handed another break after a double-fault, the world number 23 trudged back to his chair with his head bowed.
The first set was over in just 35 minutes, with Federer winning 88% of points on his first serve.
Shapovalov started the second set confidently, landing his first ace to cement a strong hold and then found himself 15-40 up on Federer's serve.
But his game was far too loose and after he failed to convert a fifth Shapovalov double fault saw the Swiss break again to put himself on the way to his 50th ATP Masters final.