Novak Djokovic saved two match-points to roar back from the brink of defeat and beat Roger Federer in a five-set thriller at the US Open on Saturday and book his place in the final.
The world number one looked to be heading towards a certain defeat when he lost the first two sets but clawed his way back to defeat Federer 6-7, 4-6, 6-3, 6-2, 7-5 and remain on course for his third Grand Slam title this year after winning the Australian Open and Wimbledon championships.
For Federer, who was chasing a record sixth US Open title in eight years, it was a heartbreaking defeat and only the second time in 184 matches that he has been beaten after leading by two sets. The only other time was at Wimbledon in July.
It also ended his streak of winning at least one Grand Slam every year since he won the first of his 16 majors in 2003 and the Swiss master cut a forlorn figure as he trudged off the Arthur Ashe Stadium.
Djokovic will now play Rafael Nadal, who beat Andy Murray 6-4, 6-2, 3-6, 6-2 in a rematch of last year's final on Monday. The final was shifted from Sunday after two days of rain forced a schedule change.
Despite losing his way in the third and fourth sets, Federer still had a chance to win the match after breaking Djokovic's serve to lead 5-3. He looked to have the match in the bag when he led 40-15 on serve but squandered his two match points and lost the last four games in a row.
The start of the match was delayed by more than hour because of a passing shower but the players made up for lost time with a scintillating first set full of unrelenting tension and precision serving.
The first 13 points all went with the server and neither player faced a break in the first 12 games as the set went to a tiebreaker.
Federer seized the early initiative but squandered four set points, including three in a row, before he finally sealed the set after 55 minutes when Djokovic dumped a forehand into the net.
The raucous crowd at the centre court roared their approval as the players retreated to their chairs like a pair of prize fighters waiting for the bell to start the next round of what proved to be titanic battle between two of the game's heavyweights
Federer, playing his first grand slam as a 30-year-old, landed the first punch of the second set when he broke Djokovic's serve in the third game.
The Serbian broke back for 3-3 when Federer ballooned a forehand over the baseline then hit the next one wide but failed to consolidate the break, losing his next game to love.
The frustration was beginning to show on Djokovic, who had only lost two matches all year before Saturday, and there was some early signs of fatigue after a long season that has brought him nine titles, including the Australian Open and Wimbledon.
He retired from last month's Cincinnati Masters final because of a sore shoulder and bent down to massage his right ankle reached before conceding the set when he slapped a return into the net but it was a false alarm.
Djokovic came out swinging in the third set and jumped to a decisive 3-0 lead after finally discovering a way to break Federer's impenetrable serve, pinning the third seed further and further behind the baseline as he started to find his rhythm.
The 24-year-old suddenly seemed re-energised as Federer started to tire in the humidity, gifting points to Djokovic with shanks and shots off the frame.
Djokovic raced through the set in 33 minutes, the quickest of the match, as the crowd rose to their feet to urge Federer to raise his game for the deciding set.
The former world number one responded, holding his first four service games before breaking Djokovic in the eighth before his own serve let him down when he needed it most.