Djokovic, who will replace an injury-plagued Nadal at the top of the rankings on Monday, now leads Federer 25-22 overall and has not lost to the Swiss since 2015.
Novak Djokovic defeated Roger Federer in a thrilling semi-final at the Paris Masters on Saturday to extend his winning run to 22 matches ahead of his return to world number one next week.
The Serb outlasted Federer in just over three hours to prevail 7-6 (8/6), 5-7, 7-6 (7/3).
He will meet Russia’s Karen Khachanov in Sunday’s final as he looks to pull level with Rafael Nadal on 33 career Masters titles.
Djokovic, who will replace an injury-plagued Nadal at the top of the rankings on Monday, now leads Federer 25-22 overall and has not lost to the Swiss since 2015.
“Novak is obviously on a roll. You can feel it. At the end it came down to a few things here and there,” said Federer, who returned to play in Paris this week for the first time in three years.
“But overall I’m happy with my game. It’s better than last week in Basel. There I won the tournament and here I played in the semis and it needed somebody of Novak’s calibre to beat me.
“So that’s all right. And I’m looking forward to a rest now and a good preparation for London (ATP Finals).”
Djokovic will go in search of a fifth Paris trophy after denying Federer a shot at a historic 100th title, although the Wimbledon and US Open champion was pushed all the way by his 37-year-old rival.
Djokovic watched four break points, one of which Federer saved with a magnificent reflex volley, go by as he led 4-3 in the opening set, before saving a set point on his serve in the tie-break.
A Federer backhand drifted wide to hand Djokovic the lead, although two more break points passed the Serb by in the first game of the second set with the Swiss on the ropes.
The missed opportunity proved costly when Federer conjured up just a second break point of the contest at 6-5, converting in style as he gambled on Djokovic going cross-court before batting a winner down the line to force a decider.
Federer fended off two more break points to open the third set as Djokovic hit the deck when his ankle appeared to catch in the surface.
The Serb threw his racket down in frustration as Federer again escaped from 15-40 down to move 5-4 ahead, but the 20-time Grand Slam champion’s magic fizzled out as the final set headed to a tie-break.
Djokovic reeled off six successive points to bring up five match points, clinching victory at the third attempt when Federer picked out the net to end a tense concluding rally.
Earlier, the 22-year-old Khachanov advanced to his first Masters final after beating Austrian sixth seed Dominic Thiem 6-4, 6-1.
“I’m really happy to achieve this, to make it to the finals. But the tournament is not over. I mean, I’m looking forward to play finals tomorrow,” said the 18th-ranked Khachanov.
Going into the Paris Masters, Khachanov had won just three of his 19 matches against players in the Top 10 but it took him just 71 minutes to add the scalp of world number eight Thiem to those of John Isner (9) and Alexander Zverev (5) whom he beat earlier in the week.
The 1.98m Khachanov dominated from the baseline and attacked the Thiem service, breaking the Austrian in his final five service games of the match.
The Russian number two now has 15 match wins at this level this year, including a trip to the semi-finals of the Rogers Cup in Toronto.
Khachanov has also won two ATP World Tour titles in 2018 with triumphs in Marseille and at the Kremlin Cup.
“I am very happy with the way I have been playing,” said the Russian who is assured of climbing at least to 12th in the ATP rankings when they are published on Monday.