Roger Federer dropped his first set of the tournament before roaring into the semi-finals of the French Open with victory over Tommy Robredo.
Federer was broken twice as he lost the second set
The result looked a foregone conclusion when Robredo lost a tight first set.
But the Spaniard stunned the Chatrier Court crowd by levelling the match, breaking twice in the second set.
That was the end of Robredo's challenge, though, and Federer effortlessly stepped up a gear to record a 7-5 1-6 6-1 6-2 win.
The result brings to an end Federer's run of 11 consecutive straight-sets wins in Grand Slams - matching the record set by John McEnroe.
Robredo is the first man to win a set against Federer in a major since Andy Roddick in the US Open final last year.
"It's never easy to play Tommy especially on clay, it's his favourite surface," said Federer.
"Sadly I had too many errors in the second set but overall it was a good test.
"It was very windy in the second set. He was solid and hit his forehand really well. I hit it too flat and I didn't use the wind to my advantage.
"I couldn't react to it but I got a good start in the third set and I was on a roll again."
Federer, the top seed, will face Nikolay Davydenko in the semi-finals after the Russian ended Guillermo Canas's bid to reach the French Open semi-finals for the first time.
Davydenko triumphed 7-5 6-4 6-4 against Canas, who has beaten Federer twice this year.
"It was not easy," said Davydenko. "But I was not as tired as him. He was losing power and I was still able to hit the ball hard and win points."
Davydenko has lost all eight of his matches against Federer and he admitted: "What works against Canas won't work against Federer. I'll just try to enjoy it.
"When I enjoy myself, I play well."