Miami - 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.