Holger Rune fought from a set and a break down on Saturday to book a place in the Italian Open final with a 6-7 (2/7), 6-4, 6-2 defeat of fourth seed Casper Ruud.
The 20-year-old Dane established Scandinavian superiority as he overhauled the Norwegian who played the Roland Garros final a year ago against Rafael Nadal and has two semi-finals in Rome.
Rune will bid for the title on Sunday against the winner from Daniil Medvedev and Stefanos Tsitsipas, who play their semi-final later.
Ruud lost for the first time in five meetings with his rival, with all of their matches being played on clay.
Rune, who knocked out top seed Novak Djokovic in the quarter-finals, said that he relaxed when he thought all was lost on court.
"When I was down, I told myself I had nothing to lose, he would probably win," he said.
"I told myself to play freely, play aggressive as it would likely be my last set.
"That was the key to the comeback - I'm super-happy."
Rune said his game has lifted at the best moments this week in the capital.
"I've played some of my best tennis in the last two matches. It's so difficult to play the top guys, I had to find my best tennis.
"I only found it at the end, that's how I was able to turn it around."
- Medical timeout -
Ruud needed 69 minutes to win a grinding first set with the Norwegian dominating the tiebreaker to take the early lead after failing to convert on three break points in the sixth game.
Rune, occasionally something of a loose cannon for his outbursts of temper, began to unravel a bit in the second set with Ruud holding his nerve as the deadlock continued.
The youngster lost serve to trail 2-3 and suddenly called for the physio, who rubbed his right shoulder for the three-minute medical timeout.
But that pause may have turned the match around, with Rune suddenly coming to life as he levelled at a set apiece and ran away with the third to advance in a light drizzle.
Rune closed out victory in just under two and three-quarter hours as he broke Ruud for a fourth time.
The Dane will be playing his eighth ATP final (4-3) and his third this season. He won in Paris Bercy last November and was runner-up to Andrey Rublev in Monte Carlo in April.
str/ea