Khachanov, the victor at last month's Kremlin Cup in Moscow, demolished out-of-sorts fourth seed Alexander Zverev of Germany 6-1, 6-2 while Thiem knocked out defending champion Jack Sock, the 16th-seeded American, 4-6, 6-4, 6-4.
'It was a big challenge, ' the Serb said as he reflected on his victory.
Djokovic will face Khachanov in the final after the Russian powered past Dominic Thiem 6-4 6-1.
Federer faced two break points in the opening game of the second set as Djokovic threatened to take control, but matters stayed on serve until a few minutes of uncharacteristic sloppiness from the Serb gave Federer a chance to level, which he took with a fizzing forehand victor.
"It was one of my best matches and what I'm happy about is that I was increasing my level, which shows that I'm becoming a better player", Khachanov, who reached his first Masters 1000 final, said.
Federer battled admirably to stay on serve in the second set, as Djokovic had chances to break in multiple different games, and Djokovic appeared in control of the match. But a stroke of Federer genius - a volley with the back of his racket while looking away from the ball after a net cord loop - saved it before the third seed held on at the end of a 20-point marathon.
Novak Djokovic ruined Roger Federer's ambitions of a 100th career title as he outlasted his great adversary 7-6 (6), 5-7, 7-6 (3) in an epic Paris Masters semi-final that stretched his remarkable unbeaten run to 22 matches on Saturday.
The Swiss took the second set, however, when he broke Djokovic's serve late in the set, to force a third set.
In their 47th meeting, the Serb took the match 7-6 (8-6) 5-7 7-6 (7-3) in three hours and two minutes.
Both served commandingly in the final set and the only anti-climax was the final tie-break in which Federer was error strewn and Djokovic showed no mercy.
The players swapped breaks at the start of the second set before Khachanov reeled off the next five games, clinching victory on his first match point when the sixth-seeded Thiem chopped a shot wide.
Djokovic raced out in the decider trying to assert himself early but once again Federer dug deep and the pair were inseparable until the closing stages of the set. "High-quality tennis", Djokovic told reporters.
Roger Federer, who has skipped the French Open the last two years, insisted Saturday he has "no idea" whether he will play at the clay-court Grand Slam next season.
"Bercy (Paris Masters) as for next year, it's like every year, it's always hard".