Roger Federer battled past Serbian Novak Djokovic 6-3, 5-7, 7-5, 6-2 on Saturday to reach the final of the US Open for the fifth successive year.
In a match that was a repeat of last year's final, the four-times champion hammered 20 aces in his best performance of the tournament to set up a final against either world number one Rafael Nadal or British sixth seed Andy Murray.
"I am so excited to be back in the final again," the second seed said in a courtside interview.
"I've worked hard all season to do well in the big ones. (To win) here at the Open would mean a hell of a lot to me."
Having struggled en route to the semi-finals, Federer, chasing his first Grand Slam title of the year but 13th overall, played an almost perfect opening set.
Third seed Djokovic, who beat Federer on his way to his first Grand Slam title at the Australian Open in January, looked flat early on but lifted his game to move ahead 4-1 in the second set.
The Swiss hit back to be on even terms at 4-4 but Djokovic broke in the 12th game to level the match.
Federer continued to exert more pressure on the Djokovic serve and one break, in the 11th game, helped him snatch the third set.
Games stayed on serve at the start of the fourth set, but an unfortunate netcord by Djokovic landed out to give Federer the break in the fifth game.
That seemed to knock the air out of Djokovic's lungs and after Federer won a tight service game to lead 4-2, he broke again in the next game before clinching victory with a forehand winner.
Should Federer play Nadal, it would be their third straight meeting in a Grand Slam final, with the Spaniard having won both at the French Open and Wimbledon.
"Who do I prefer to play? I prefer the trophy, that's what I prefer," said Federer, who was deposed as world number one last month.
"But I guess I would have to say Rafa because we've had such great battles over the year. Wimbledon was unbelievable so I hope we can have another one."