Roger Federer celebrates beating Rafael Nadal during their men's singles semi-final match on Friday. AP
The 37-year-old eight-time champion won 7-6 (7/3), 1-6, 6-3, 6-4 in the pair's 40th career meeting to move into his 31st Grand Slam final where he will face defending champion Novak Djokovic.
Fans applaud as Roger Federer and Rafael Nadal walk off after their semi-final match on Friday. Reuters
Federer, the oldest semi-finalist in a Grand Slam semi-final since Jimmy Connors at the 1991 US Open, broke Nadal for the first time in the fourth game of the third set.
He then fought off three break points for a key 4-1 lead, coming out on top in a 23-shot rally and then a 25-stroke exchange.
There was no respite for Nadal, an 18-time Slam winner, who slipped a break down at 2-1 in the fourth.
Top seed and four-time winner Djokovic reached his sixth Wimbledon final, and 25th at the majors, with a nervy 6-2, 4-6, 6-3, 6-2 triumph over Spain's 23rd seed Roberto Bautista Agut.
"I'm exhausted, it was tough at the end. Rafa played some unbelievable shots to stay in the match, it was a very high level," said Federer.
"The battles with Rafa are always special. The biggest points went my way, there were some tight ones in the long rallies."
Mirka Federer (2L) wife of Roger Federer, reacts in the family box during the semi-final match. AFP
Federer is the third oldest man ever to play in a Grand Slam final after 39-year-old Ken Rosewall featured in the 1974 Wimbledon and US Open finals.
However, he will have his work cut out on Sunday if he is to secure a 21st major title as he trails 15-time Slam winner Djokovic 25-22 in career meetings.
"Novak is the defending champion and he has shown that this week," added Federer.
"He has been really solid. I will try and push him to the brink but it will be difficult as it's not for nothing that he is number one.
"But I am very very excited to say the least."
Friday's semi-final was never likely to match the knife-edge theatrics of the 2008 final although Federer needed five match points to secure victory.
Federer will not mind with his win coming just a month after Nadal handed him his worst loss at a Slam in 11 years in the Roland Garros semi-finals.
In a tight 51-minute opener, Nadal managed to save the only break point in the eighth game before surrendering the advantage of an early mini-break in the tie-breaker which Federer claimed thanks to five points in a row.
The Spaniard finally carved out the first break of the semi-final in the fourth game of the second set, backing it up with a hold for 4-1.
Nadal then broke again for 5-1 as Federer suffered a sudden and severe power outage with the two-time champion comfortable levelling the contest.
Nadal saved two match points in the ninth game and two more in the 10th but a loose return sealed his fate.
Federer finished with 14 aces and 51 winners.
Djokovic in sixth final
Djokovic, meanwhile, will be looking to add another Wimbledon title to the Australian and US Open crowns he already holds.
"This has been a remarkable tournament for me and to be in another final is a dream come true," said the top seed.
"I had to dig deep, Roberto was playing his first semi-final at a Grand Slam and he was not really overwhelmed.
"It was a really close opening four to five games of the third set that could have gone either way — thankfully it went mine."
Djokovic swept through the first set with breaks in the second and eighth games.
Nadal emerged triumphant that day, winning in five sets in a four-hour 48-minute epic of fluctuating fortunes that stretched out over seven hours because of constant, momentum-shifting rain interruptions.
Eight-time Wimbledon champion Roger Federer reached the last-32 of a Grand Slam for the 70th time as he disposed of British wild card Jay Clarke 6-1, 7-6 (7/3), 6-2 in the second round at Wimbledon on Thursday.
Wimbledon is set to start in London on June 29, but the continuing spread of the virus has caused havoc with the sporting schedule and the grass-court Grand Slam could be the next major event to be delayed.
Sunrisers Hyderabad (SRH) and Royal Challengers Bangalore (RCB) will look to take early advantage with a win in their first match of the Indian Premier League (IPL) at the Dubai International
Tadej Pogacar became the first Slovenian to win the Tour de France after he retained the yellow jersey in the 21st stage on Sunday, a day after he pulled off a major coup to take the overall lead.
A rampant Delhi Capitals defeated Kings XI Punjab in the Super Over to register their first win of the season at the Indian Premier League (IPL) in Dubai on Sunday.