Novak Djokovic will take on Matteo Berrettini for a third straight Wimbledon title on Sunday after fighting off the challenge of young Canadian Denis Shapovalov.
The 22-year-old, playing in his first grand slam semi-final, was the better player for most of the first two sets but could not convert his chances and fell to a 7-6 (3) 7-5 7-5 defeat.
Djokovic has yet to hit top gear this fortnight but he has only dropped one set – his first match of the tournament against British teenager Jack Draper – and is now one win away from equalling Roger Federer and Rafael Nadal's record of 20 slam titles and completing three quarters of a calendar Grand Slam.
Standing in his way will be Berrettini, who was superb against Hubert Hurkacz earlier, but this was an object lesson in why Djokovic has been the dominant player of the decade.
He was well off his usual standards to start with, double faulting twice in the third game and dropping serve on a blistering Shapovalov backhand.
The 10th seed's one-hander is one of the game's great crowd-pleasing shots, and it has worked brilliantly this tournament, especially in his third-round victory over Andy Murray.
Shapovalov was playing freely in his maiden slam semi-final and won 15 points in a row on serve until he came to serve for it at 5-4.
He recovered well from 0-30 but at 30-30 he missed a forehand with the court gaping, and Djokovic broke back.
It was a huge moment, and was replicated time and again across the remainder of the two hours and 44 minutes they spent on Centre Court.
Djokovic played a shaky tie-break, including a double fault, but Shapovalov did not win a single point on his own serve and ended with a double fault of his own.
Shapovalov had golden chances to break at both 2-1 and 3-2 in the second set with Djokovic at 0-40 and 15-40, but again he could not take them, his spectacular shots choosing the worst moments to misfire.
He had the majority of the crowd behind him, including children from St Matthew Academy in Lewisham, who have been sending him supportive videos.
But it was he who cracked on serve at 5-5, another untimely double fault giving Djokovic the chance to serve for the set, which, unlike his opponent, he did not pass up.
Shapovalov channelled his frustration into an argument with the umpire as he saw his Wimbledon final dreams ebbing away.
Although he was not playing anything like his best, such is the depth of Djokovic's well of confidence that he was able to raise his level when he needed to, while the opposite was true of his opponent.
Experience plays a huge part in that, of course, and Shapovalov showed more than enough in this match and across the tournament as a whole to indicate he will have many more opportunities to hone a winning mentality on the big stage.
This occasion, though, belonged to Djokovic, the world number one saving three more break points – he fought off 10 of 11 across the match – in the second game of the third set.
Shapovalov at least showed grit of his own on the defensive in the third set, saving break points at 1-1 and 3-3 with terrifically brave hitting – and a couple more tumbles to the turf for Djokovic, who has struggled to keep his feet all fortnight.
The top seed had now found a high level and there were some brilliant exchanges, but Shapovalov's resistance ran out in the 11th game before Djokovic booked his spot in a 30th slam final.