Andy Murray recovered from a sudden stutter to book his semi-final place with a rollercoaster victory over home favourite Gael Monfils at the French Open.
The number seven seed seemed to be cruising towards his 14th career Grand Slam semi-final after winning the first two sets but allowed his close friend to force a decider in fast-fading light.
However, the Wimbledon and Olympic champion again shifted the momentum back in his favour, allowing his rival to win just six points in a one-sided decider, his winning score 6-4, 6-1, 4-6, 1-6, 6-0.
He now faces eight-time champion Rafael Nadal in a repeat of their encounter at the same stage three years ago at Roland Garros.
Nadal was a confident winner in four sets over fellow Spaniard David Ferrer and has won all five of his encounters with Murray on clay - though their last match in Rome was perhaps the closest yet.
"It's going to be a very, very tough match against Rafa and I'll need to recover the best I can and just play my best tennis," said Murray.
"It's always difficult to play against a good friend like Gael, someone I've known since I was ten.
"The conditions were windy, it was slow and heavy and I started well but when the wind calmed down he played some very aggressive tennis and not many players move better on the tour.
"He started the fifth set badly and I guess I was lucky at the end and I'm just delighted to be in the semi-finals."