Roger Federer fought back from two sets to love down for the seventh time in his career to defeat Juan Martin Del Potro 3-6 6-7 (4/7) 6-2 6-0 6-3 and reach the semi-finals of the French Open.
For two sets it looked like the 16-time grand slam champion was on his way home, with Federer particularly out of sorts in the opener on a cool and damp Court Suzanne Lenglen.
But Del Potro has been struggling with a left knee injury and, after he edged a very tight second on a tie-break, his movement became gradually worse.
The Argentinian's decline coincided with a marked improvement from Federer, and in the end the third seed came through the last three sets reasonably comfortably.
The 30-year-old had struggled to find his best form in all his previous four matches, dropping sets in three of them despite not facing anyone ranked higher than 78th.
In the first set he was particularly off colour, making a host of unforced errors, and Del Potro was able to play well within himself and still win it easily.
The second looked like being the key to the match. Federer, who had beaten Del Potro five times in a row since losing to him in the US Open final in 2009, was battling himself, letting out a roar of frustration when he put another forehand over the baseline in the fifth game.
He still managed to break, though, this time a forehand proving too good for Del Potro, only to give it straight back with the tamest of forehands into the net.
Both men were pushing for the advantage. Del Potro had a chance in the eighth game but just missed with a forehand, then in the next game Federer brought up three chances but could not take any of them.
He thought he had with a forehand that was called good but it was over-ruled by umpire Pascal Maria.
In truth the quality of the match had not been that high, but it rocketed in the tie-break, and it was Del Potro who climbed the highest.
The raw power of the Argentinian was simply too much for Federer, with the ninth seed winning some brutal rallies despite the best efforts of the 2009 champion.
Federer had not fought back from two sets down to win since a first-round match at Wimbledon in 2010 against Alejandro Falla, but he made the best possible start to the third with an early break when Del Potro double-faulted.
And it soon became clear the 23-year-old, who has had heavy strapping on his left knee all tournament, was struggling.
The fourth set was a breeze for Federer, but he still had to save two break points at the start of the decider, both with tremendous forehands, as Del Potro steeled himself for one big effort.
The crucial break came in the fourth game, a curling forehand winner down the line leaving his opponent flat-footed, and he had little trouble holding on to his advantage, sealing victory on his second match point when Del Potro's forehand hit the top of the net and drifted wide.
The victory put Federer into a 31st grand slam semi-final, equalling the record set by Jimmy Connors, while he has also now reached at least the last four seven times or more at every slam.