Top seed Novak Djokovic saw off Grigor Dimitrov in four sets to reach his third Wimbledon final in four years.
The Serb won 6-4 3-6 7-6 (7-2) 7-6 (9-7) as both players struggled with their footwork on a dry Centre Court.
Dimitrov had three points to force a fifth set at 6-3 in the tie-break, but Djokovic fought back to make it through to his 14th Grand Slam final.
"I was playing in the semi-final against a future star," Djokovic told BBC Sport.
The 27-year-old will face Roger Federer in Sunday's final after the Swiss beat Milos Raonic in straight sets.
He is trying to win his second Wimbledon and seventh Grand Slam title, and will regain the number one ranking if he wins on Sunday.
|73%||1st serve win||82%|
|56%||2nd serve win||45%|
|Match time: 3hrs 2mins|
"Dimitrov is already a top player after beating Andy Murray and he deserves respect for that. For his first semi-final he was really fighting and it was tough," Djokovic added.
"Like my last match against Marin Cilic, I allowed my opponent back into the match and I am just pleased to go through."
Dimitrov, 23, had flourishing on his Centre Court debut against an error-strewn defending champion, but was less consistent in his first Grand Slam semi-final.
He was given absolutely nothing to work off by Djokovic in the early stages as the 2011 champion began with a serving display his coach Boris Becker would have been proud of.
Djokovic kept his opponent on the back foot by making his first 19 serves in a row, only missing when he was already well in control with a break at 4-3, following four nervous errors from Dimitrov.
When Djokovic had a point to lead by a double break in the second, things looked bleak for the 11th seed, but Dimitrov fired an ace down the middle that signalled a sharp change in momentum.
Dimitrov levelled at 3-3 and moved ahead two games later when he brought Djokovic forward with a drop shot.
The athleticism of both men came to the fore in a tight third set and Djokovic survived the only break point with a mis-hit backhand that barely crawled over the net.
When Dimitrov fell behind in the fourth set after another woeful service game, his 10-match winning streak appeared almost at an end, but there was another burst of brilliance to come.
He chased down a drop shot to recover the break immediately, then served his way out of a hole at 15-40 before pushing hard for the decisive break and a set point at 5-4.
|Two-time champion Jimmy Connors|
|"It was great stuff, great drama, worthy of a semi-final. I'm not sure if Novak will be pleased. He ground it out, but he did let Dimitrov back in. If he's going to win this Championship, he can't allow that to happen."|
The roar that came from Djokovic as he clung on would have shaken the foundations of Centre Court, and after a slow start to the tie-break he saved two set points on serve and made it three with a move to the net.
From holding three set points, Dimitrov double-faulted for the eighth time to hand Djokovic a match point, but the Serb's decision to serve and volley did not pay off as the Bulgarian fired a winner past him.
Dimitrov was face down on the court once again moments later as Djokovic earned a second match point, and this time the world number two converted with a forehand.
"Obviously we were both sliding quite a bit on the court, changing shoes," said Dimitrov. "I think when you're into that deep second week of a tournament, of course the grass is wearing off a little bit. So you can't really expect much else.
"But it's the same for me, it's the same for him."