Following two matches in which he was taken to three sets, Federer appeared to be in better form during his quarter-final on Friday against the eighth seed Kei Nishikori. He won the encounter 6-3 7-6.
But that elan evaporated overnight. The 20 time Grand Slam champion made a disastrous start against the world number 19. He lost his opening service game and could not retrieve the deficit as Coric held on to win the first set 6-4.
It was a case of déjà vu at the start of the second set which Coric also claimed 6-4.
“If it's not the best win of my career, then it’s in the top two or top three,” said 21-year-old Coric. It’s really something special.”
Federer, who lost to Coric in the final at the Halle tournament in June, was munificent in defeat. "I thought he was better and I think he had more punch than me on the ball,” said the Swiss. “He served better."
Coric, who will play his first Masters 1000 final, will be up against a grand master of the form. Djokovic, who is 10 years his senior, will contest his 45th Masters final on Sunday.
He has won 31 of the events which are considered to be the most prestigious competitions on the tour after the Grand Slam tournaments.
When the Serb beat Federer at the Cincinnati Masters in September he became the first man to claim a crown at all nine Masters venues.
He will be aiming for a 72 tour title: Coric for his third.