Alexander Zverev made it fourth time lucky as he beat Casper Ruud in four sets to reach the French Open final.
Zverev, a losing semi-finalist in the previous three years at Roland Garros, triumphed 2-6 6-2 6-4 6-2.
Ruud, the seventh seed from Norway, took the first set very handily, but his level dropped off alarmingly in the second.
At the start of the third it became apparent why as he called for the doctor, who gave him some medication.
In the end it was a comfortable victory for the German fourth seed, who finished the job with an ace after two hours and 35 minutes to set up a final showdown with Carlos Alcaraz on Sunday.
“I’ve got so much history on this court,” said Zverev, who left Philippe Chatrier on crutches two years ago after sustaining a horror ankle injury against Rafael Nadal.
“I’ve got some of the best and worst memories on this court. I’m in the final after my fourth semi-final and I’m going to give it my all on Sunday.”
Aryna Sabalenka struggled with a stomach bug in her quarter-final defeat by teenager Mirra Andreeva on Wednesday and it appeared that two-time runner-up Ruud had suffered the same fate.
“If I waited, you saw how quickly the first set went away,” added Zverev.
“Casper is too good a player to wait. I knew I had to be aggressive to take it to him. The balls went in and I’m happy to be in the final.
“Look, I thought the first two sets were very high level, then end of the third I saw he started to move slower.
“His shots were still the same. If I was more passive then he would’ve won the match. Credit to him for finishing the match. A great champion and a great person.”
Ruud admitted afterwards a dodgy stomach was causing him discomfort.
“Maybe it was something I picked up in my dinner last night, maybe it was from the breakfast this morning, or something just before that I got in my stomach,” he said.
“I don’t have the answers now, but I’m just disappointed that it had to be today. Why couldn’t it be yesterday or the day before when I had three days off?
“So it was a bit unlucky. I was really looking forward to the match. In a way I started well but I wasn’t able to keep it up, unfortunately.”
Zverev’s victory came on the day the court case against him for allegedly assaulting his ex-girlfriend was terminated after a settlement was reached.
The 27-year-old was contesting a penalty order and fine of 450,000 euros issued last October.
Zverev had always maintained his innocence and the settlement did not include an admission of guilt.
It has been four years since the allegations first surfaced, and Zverev said: “I told you so from the start. I told everybody. I’m happy that it’s over.
“Nothing else more to say. That’s it. Four years. I’m happy about that.
“Done. We move on. I never ever want to hear another question about the subject again. That goes out to everybody.”
Comments: Our rules
We want our comments to be a lively and valuable part of our community - a place where readers can debate and engage with the most important local issues. The ability to comment on our stories is a privilege, not a right, however, and that privilege may be withdrawn if it is abused or misused.
Please report any comments that break our rules.
Read the rules here