Rafael Nadal responded to doubts over his form with a straight-set win against sixth seed Alexander Zverev in the Italian Open quarter-finals.
Spain's Nadal, who saved two match points before beating Denis Shapovalov in a marathon match on Thursday, was much improved in a 6-3 6-4 victory.
It was a measure of revenge for the second seed, who lost to Zverev in the Madrid quarter-finals last week.
The 34-year-old will now face American world number 47 Reilly Opelka.
Opelka reached the semi-finals of a Masters 1,000 for the first time by beating Argentina's Federico Delbonis.
"I'm surprised, clay's not really my thing, not an American thing, it's probably just a fluke," said Opelka, who entered the tournament on a six-match losing streak.
Serbia's world number one Novak Djokovic will resume his quarter-final match against Greek fifth seed Stefanos Tsitsipas on Saturday, after play was suspended on Friday because of rain.
Tsitsipas was leading 6-4 2-1 before play was halted for a second time, having led 4-3 before a three-hour 30-minute wait for conditions to improve.
Russian seventh seed Andrey Rublev meets Italian Lorenzo Sonego in the final last-eight match.
Nadal overcomes Zverev and a worrying tumble
Nadal is bidding for his first Masters 1,000 title of the season on his favoured clay surface, having lost to Rublev in the Monte Carlo quarter-finals and then going down to Germany's Zverev at the same stage in Madrid.
Other than last year, when Monte Carlo and Madrid were not played because of the Covid-19 pandemic, Nadal has reached at least one of the three clay-court Masters finals in every season since 2005.
With Opelka next, Nadal is the overwhelming favourite to reach Sunday's final after ending a run of three straight defeats against 24-year-old Zverev.
"I'm happy, I played a solid match with not many mistakes," said 20-time Grand Slam champion Nadal. "I was able to control the game a little bit more than Madrid."
There was an injury concern for Nadal, however, when he tumbled to the court in what proved to be the final game of the opening set.
Nadal turned his ankle on a raised service line as he stretched forward for a drop shot and, with the stadium falling silent in concern, was sprawled out on the clay for a few moments afterwards.
He was able to climb to his feet and did not require any treatment, responding by fighting off a break point to hold serve and seal the opening set.
A single break of serve - for a 3-2 lead - was enough for Nadal to clinch the second set and match, although he had to dig deep and remain composed to stop Zverev taking any of seven break points in that set.
- Salford's 'Mr Big': Paul Massey's rise in the criminal underworld through violence and extortion
- Dive into 2010s nostalgia with our quiz: How much do you remember about music from the last decade?