Dominic Thiem gained revenge after back-to-back final defeats with a stunning 6-4 6-3 win over seven-time Internazionali BNL d'Italia champion Rafael Nadal.
The Austrian was beaten by Nadal in his maiden ATP Masters 1000 final at the Madrid Open, having already been defeated by the same opponent at the same stage of the Barcelona Open.
But the honours belonged to the supreme Thiem in Friday's quarter-final meeting in Rome, the 23-year-old producing a heavy-hitting display that frequently had Nadal chasing shadows in his first clay-court loss of 2017.
Novak Djokovic or Juan Martin del Potro will be up next for Thiem in the last four.
Thiem – whose solitary win in this head to head came at last year's Argentina Open – was quickly into his stride, a couple of vicious one-handed backhands helping him to an opening-game break, even as Nadal landed all six first serves.
The pinpoint accuracy of Thiem's early play soon had him 2-0 up and putting pressure on the Nadal serve once more, taking the 14-time grand slam champion to deuce.
Remarkably, the world number seven simply continued to get better and Nadal initially had no answer to his opponent's power and precision from the baseline, which earned another break for a 4-1 lead.
It was then that Nadal finally had some joy against the serve, but Thiem kept his cool at 40-40, with the Spaniard forced to all corners of the court before being outdone by a thunderbolt forehand winner.
Having shown signs of life in clawing one game back, Nadal – returning to stay in the set – started with two ferocious winners and saw Thiem send one long to give the King of Clay two break points.
Although they were snuffed out, Nadal dug deep and profited from some rare Thiem errors to cut the gap, which was further reduced following a prompt hold.
Serving for the set for the second time, Thiem produced a more accomplished game to halt Nadal's fightback and move ahead.
Nadal wasted little time in testing Thiem's nerve in the second set, a deft drop shot and a powerful forehand down the line taking it to deuce in the right-hander's opening service game, though he did ultimately hold.
An increasingly animated Nadal knew he had to vary his approach and began to show a greater willingness to come to the net as he sought to disrupt the inspired Thiem's rhythm, a tactic that yielded mixed results.
One such venture forward resulted in Nadal dumping the ball into the net and he proceeded to lose the next two points to trail 15-40 on serve, before battling back for a gutsy hold.
But when he stepped up to serve at 3-3, Nadal suffered a decisive loss, one exchange leaving the crowd on their feet as Thiem raced behind the baseline and rifled a cross-court backhand past his rival.
Thiem stayed strong in the face of break points to see out a thrilling contest with a last break of his own, as Nadal wrapped up his French Open preparations with a shock loss.
IMPRESSIVE ZVEREV SETS UP ISNER SEMI
Alexander Zverev continued his promising season, which has yielded two ATP Tour titles, with a fine 7-6 (7-4) 6-1 win over Milos Raonic.
The German, who turned 20 last month, recovered from the blow of failing to serve out the opening set to win a tense tie-break against the 2016 Wimbledon finalist.
Raonic faded badly in the second set of the first meeting between the pair, the seven games taking just 28 minutes to complete.
Zverev will now face John Isner following the American's battling triumph over Marin Cilic.
Isner prevailed 7-6 (7-3) 2-6 7-6 (7-2), with the help of 21 aces, to record only his second win against the Croatian.