World number one Novak Djokovic won a gruelling five-setter against Alexander Zverev to set up a US Open final against Daniil Medvedev and keep his bid for a calendar Grand Slam on track.
Russian second seed Medvedev had earlier kept alive his hopes of a first major title with a 6-4 7-5 6-2 win over Canadian Felix Auger-Aliassime.
Djokovic then recovered from falling a set behind to win 4-6 6-2 6-4 4-6 6-2.
He now has the chance to win a record 21st men's Grand Slam singles title.
Victory over Medvedev on Sunday at Flushing Meadows would move Djokovic clear of the 20 majors won by Roger Federer and Rafael Nadal.
History-chasing Djokovic would also become the first man to win all four majors in the same year since Rod Laver in 1969.
"There's only one match left, all in, let's do it. I'm going to put my heart and my soul and my body and my head into that one," Djokovic said.
"I am going to treat the next match like it is the last match in my career."
In fourth seed Zverev, Djokovic came up against a player who six weeks ago ended his hopes of another slice of history, the 'Golden Slam', by beating him at the Olympics.
The 34-year-old must have feared a repeat when he double-faulted to hand Zverev the chance to serve for the opening set. His opponent obliged despite double-faulting himself on his first set point.
Early in the second the roles were reversed, Zverev missing a straightforward forehand and following up with a double fault as Djokovic broke and then cantered through the set to level.
Zverev was frustrated at not being able to convert a break in the opening game of the third and again missed a chance at 2-2, only to later present Djokovic with three set points.
He saved two, the second in a remarkable 53-shot rally, but Djokovic smashed away the third at the net to take the lead and celebrated by rousing the crowd with his arms aloft.
Zverev again engineered break points at 1-1 in the fourth set and this time zipped a forehand winner beyond his opponent as he held on to that advantage to force a decider.
It was Djokovic who found the breakthrough in Zverev's opening service game in the fifth set and the Serb's enduring class showed through as he raced into a 5-0 lead.
Zverev, who at 24 is 10 years Djokovic's junior, got on the board and then clawed back one break to keep the semi-final alive, much to the New York crowd's delight.
The three-time US Open champion hit straight back to bring up match point on Zverev's serve and sealed his place in the final when his opponent found the net after three hours and 33 minutes of tennis.
"Thank you, the atmosphere was amazing - the best atmosphere of the tournament so far," Djokovic said.
"These are the moments we live for, the unique opportunities we dream of every day when we wake up and are trying to find the motivation to go out and do the same things over again."
BDST: 1410 HRS, SEP 11, 2021