Japan's Nishikori, the 10th seed, became the first Asian man to reach a Grand Slam final when he swept past seven-time major winner and world number one Djokovic 6-4, 1-6, 7-6 (7/4), 6-3 despite on-court temperatures of almost 40 degrees yesterday.
Nishikori, the first Japanese man since 1918 to reach the semi-finals in New York, goes on to face Croatian 14th seed Cilic in Monday's championship match after he also reached a maiden Grand Slam final by beating five-time New York winner Federer 6-3, 6-4, 6-4.
The 27-year-old Djokovic was the 2011 champion in New York. He was playing in his eighth successive US Open semi-final and bidding for a sixth final, his 15th overall at the majors.
In contrast, 24-year-old Nishikori's best effort had been a run to the quarter-finals of the 2012 Australian Open.
More From This Section
"I was a little bit tight especially as it was my first semi-final in a Grand Slam but it's just an amazing feeling to beat the number one player," said Nishikori.
Djokovic, playing in his 17th semi-final of the last 18 Grand Slam events, admitted Nishikori was the better player.
"He played some great tennis. I congratulate him for the effort. He was the better player today," said the Serb.
Despite playing back-to-back five-setters over eight and half hours to get to the semi-final, Nishikori wrapped up the first set in 39 minutes.
Djokovic, shrugged off his lethargy, breaking in the fourth and sixth games on his way to levelling the semi-final with a sixth ace securing the second set.
He then conjured up a break for 5-3, but cracked when trying to serve out the set, his second double fault handing the break straight back to the Serb.