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