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.