Top-seed Novak Djokovic halted the grasscourt charge of talented Bulgarian Grigor Dimitrov, beating the 11th-seed 6-4 3-6 7-6, 7-6 in an exhilarating see-saw contest to reach the Wimbledon final.
Djokovic will take on Roger Federer in the final after the fourth-seed Swiss made it to his ninth Wimbledon final in a 6-4, 6-4, 6-4 defeat of Milos Raonic.
Djokovic, the six-time grand slam champion, had to draw on all the experience gleaned in 23 major semi-finals to get the better of 23 year-old Dimitrov, who was on a roll after winning the pre-Wimbledon tournament at Queen's Club and downing third-seeded champion Andy Murray in the quarter-finals.
Federer, meanwhile, broke in the opening game and then comfortably saw out the first set before breaking decisively in the ninth games of both the second and third sets, with his opponent unable to gain a foothold in the match.
The 32-year-old Swiss played most of the match at walking pace and finished off his opponent in one hour 41 minutes, clenching his fist in a restrained celebration when Raonic hit a backhand return wide on match point.