Alexander Zverev booked an emotional return to the French Open semi-finals with a hard-fought win over unseeded Argentinian Tomas Martin Etcheverry.
The German, 26, left Roland Garros in a wheelchair last year after badly damaging ankle ligaments in his semi-final against Rafael Nadal, an injury that sidelined him for several months.
But he won 6-4 3-6 6-3 6-4 to continue his bid for a maiden Grand Slam title.
The 22nd seed will face either Casper Ruud or Holger Rune in the last four.
Norwegian fourth seed Ruud, beaten by Nadal in last year's final, and Danish sixth seed Rune round off the quarter-finals on Court Philippe Chatrier from 19:15 BST.
Zverev, spurred on by the crowd chanting his nickname 'Sascha', was pushed hard by the unheralded world number 49 but eventually prevailed after three hours and 25 minutes.
After the pair embraced warmly at the net, Zverev let out a huge roar in celebration at securing a sixth Grand Slam semi-final appearance.
"As I have said before, last year was the most difficult year of my life," Zverev said.
"I love tennis with all my heart, I love the competitiveness and that was taken away exactly one year ago.
"I'm so happy to be back on this stage and have the opportunity to play for a Roland Garros title again."
Zverev stands firm to end Etcheverry's fairytale run
Zverev, the 2020 US Open runner-up to Dominic Thiem, now has a chance to reach a second Grand Slam final - an opportunity denied to him by injury in Paris last year.
Twelve months ago, Zverev was pushing Nadal to the absolute limit - their two semi-final sets taking more than three hours combined - before the fall that cost him not only the match but virtually the rest of the 2022 season.
He faced a tough task against Etcheverry, with the world number 49 not dropping a set on his way to a maiden Grand Slam quarter-final appearance.
Zverev started strongly, breaking the 23-year-old's serve in the seventh game of the first set and then saving two immediate break-back points before serving it out.
Etcheverry fought back impressively, breaking Zverev's serve twice on his way to levelling the match and the momentum looked to be swinging in the South American's favour when he broke in the opening game of set three.
However, Zverev battled back from 0-2 down to win five consecutive games to take the third, before edging a tight fourth set to progress.
"He is playing incredible tennis - he reminds me a lot of [Juan Martin] Del Potro, the way he hits his forehand especially," Zverev said of his opponent.
"I think if he continues playing like this, he can be top-10 and win big tournaments. I hope nothing but the best for him."