Federer is bidding to win his fifth successive US Open title
Defending champion Roger Federer gave one of his best displays of a troubled season to beat Novak Djokovic and reach his fifth successive US Open final.
The Swiss world number two, unbeaten at Flushing Meadows since 2003, stormed to the first set after an early break.
Djokovic rallied to take the second but Federer showed his class and experience to come through 6-3 5-7 7-5 6-2.
Federer will play Andy Murray or Rafael Nadal in the final, which has been moved to 2200 BST on Monday.
Rain began to fall during the third set between British number one Murray and world number one Nadal, forcing the match to be suspended until Sunday.
"This was a big match, I knew it from when I saw the draw," said Federer. "He's been playing very well on hard courts for the last one-and-a-half years.
Overall, it's been a very exhausting tournament mentally and physically for me, so I'm happy that I got to the semi
"It was important to stay grounded because I knew the match could change, like it did in the second set.
"I think I broke his will when I won the third set and then I knew if I played well I could win in four sets."
And looking ahead to the final, Federer admitted he would like another crack at Nadal.
"I won't be surprised if Andy would beat Rafa, but just I think the meaning would be more to play against Rafa here at the Open," he said.
In what was a rematch of last year's final, both Federer and Djokovic held their opening service games in impressive fashion, but Djokovic could not manage to do so in his second as Federer's power from the baseline saw him establish a 3-1 cushion.
Federer denied the Serbian any opportunities to get back into the first set, making just three unforced errors in total.
The second set looked like it too would hinge on the fourth game, when Federer sent a backhand wide to hand Djokovic his first break of the match and a 3-1 lead.
Federer, appearing in his 18th straight Grand Slam semi-final, battled back to 4-4 but then at 5-6, having already saved two set points, pulled a forehand wide to hand the Serb the set.
Defeat for Federer would have seen the 27-year-old slip to number three in the rankings behind Djokovic.
But, after the third set went with serve up to 5-5, the 12-time Grand Slam champion raised his level to secure a crucial break en route to taking the set 7-5.
Federer lost to Djokovic in the semi-finals of this year's Australian Open but there was to be no repeat for the 21-year-old, who made two backhand errors to gift Federer a break in the fifth game of the fifth set.
The world number two never looked likely to relinquish that advantage and did not lose another game in sealing his triumph.
"I think he deserved to win, absolutely," said Djokovic. "I was just a little disappointed from my side that I wasn't able, physically I wasn't able enough to give him a challenge.
"I think I played well that second set, and, you know, was on serve in that third one. Then I was just unlucky to lose that third set and then more or less routine in the fourth for him.
"Overall, it's been a very exhausting tournament mentally and physically for me, so I'm happy that I got to the semi."
And asked if he regretted his critical comments towards the New York crowd following his semi-final win over Andy Roddick, the Serb said: "No, I think they were pretty fair."