World number five Stefanos Tsitsipas reached the Italian Open final for the first time after the Greek rallied to defeat Alexander Zverev 4-6 6-3 6-3 on Saturday.
Tsitsipas, who will rise to fourth in the new ATP rankings next week, will need to beat either top-ranked Novak Djokovic or Norwegian fifth seed Casper Ruud to claim his third Masters 1000 title.
In the third claycourt Masters 1000 semi-final between the pair this season, Tsitsipas overcame Zverev as he stayed consistent from the baseline and strong on serve throughout.
Zverev was clinical in the opening set with his first serve working like clockwork, but the German dropped a set for the first time in this year's tournament as Tsitsipas raised his own level in the second set.
Tsitsipas struck first in the decider, earning a break to lead 3-2 when Zverev sent a forehand into the net.
Tsitsipas broke the Zverev serve again to eventually claim a comfortable victory as the German's game went off the boil. He now has a Tour-leading 31 match wins this year and leads his head-to-head against Zverev 8-4.
Defeat meant Zverev is yet to win a title this season.