The top-ranked Djokovic was forced to produce his best tennis of the tournament to defeat Roberto Bautista Agut, 6-2, 4-6, 6-3, 6-2, who almost proved a disrupter in his first Grand Slam semifinal before succumbing to Wimbledon's four-time and defending champion.
It set up one of Wimbledon's classic semi-final clashes, as the two all-time greats of the game went shot for shot in a thrilling display of grass-court tennis that had the SW19 crowd on the edge of their seats.
Nadal and Federer will face off for the 40th time in their storied rivalry later today in the Wimbledon semi-finals.
It was the longest rally officially seen at Wimbledon since records began in 2005 and Djokovic duly served out and stayed on top to take the set.
World number one and defending champion Novak Djokovic now stands between the 37-year-old Federer, the oldest finalist here since Ken Rosewall in 1974, and a record-equalling ninth Wimbledon title in Sunday's showpiece. And the first time it happened, in 2008, he won the title after beating Federer in a five-set marathon.
Continuing his relentless attacking onslaught, Federer forced Nadal into errors to break the Spaniard again in the fourth game of the fourth set to take a stranglehold on proceedings.
"Regardless of the history and many finals I've played, playing a final at Wimbledon is something different so I'll definitely enjoy that experience", he said.
Federer brought up two match points on Nadal's serve, but the Spaniard saved both to force his opponent to serve it out for the match. Moments later, he was ending a 45-stroke baseline exchange - the longest on record at Wimbledon, where such stats date to 2006 - with a backhand victor to save a break point.
"He played a bit better than me, I had a few small chances but didn't convert them."
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. Federer ranks first among men with 20 career Grand Slam titles.
"Hopefully I can push him to the brink and beat him, but it's not going to hard". However, the match will only start after the end of the semifinal match between Novak Djokovic and Robert Bautista Agut.
"You go through these kind of emotional moments, especially in big matches like this, all the time", Djokovic said.
"Age kicks in. I know it's not over yet", said the Swiss, who is now into his fifth final at the All England Club since turning 30.