Djokovic defeated his Tokyo Olympics conqueror in three hours and 33 minutes, winning 4-6 6-2 6-4 4-6 6-2.
The victory means Djokovic will face second seed Daniil Medvedev in Sunday’s final after the Russian eased past 12th seed Felix Auger-Aliassime in straight sets.
Djokovic won the Australian Open, French Open and Wimbledon this year, with Sunday’s decider offering a rare shot at a calendar Grand Slam.
Rod Laver (1962 and 1969) and Don Budge (1938) are the only two players are men’s singles history to win calendar Grand Slams.
Steffi Graf achieved the feat in 1988, along with Olympic gold in Seoul, marking a golden Grand Slam.
Djokovic had previously been reluctant to discuss the calendar Grand Slam but embraced it in his post-game on-court interview.
“There’s only one match left… Let’s do it,’’ Djokovic said.
“I’m going to put my heart and my soul and my body and my head into that one. I’m going to treat the next match like it is the last match of my career.’’
“Job is not done,” he said. “Excitement is there. Motivation is there, without a doubt. Probably more than ever. But I have one more to go.”
The Serbian was made to work to earn his shot at history, in a thrilling five-set epic in front of a loud Arthur Ashe Stadium crowd.
“The atmosphere was amazing, the best of the tournament so far,” Djokovic said. “Thank you so much. These are the moments we live for.”
Zverev came into the semi-final on the back of 16 straight wins, triumphing in Tokyo and Cincinnati, and Djokovic offered praise to the German.
“He’s a big champion, he’s someone I admire on and off the court,” he said.