Former champion Alexander Zverev came back from a disastrous start to beat Chile's Alejandro Tabilo 1-6 7-6(4) 6-2 on Friday to reach the Italian Open final.
The German third seed, who won the title in 2017 and reached the final the following year, looked in real danger when 29th seed Tabilo raced away with the opening set.
The 26-year-old, who beat world number one Novak Djokovic in the third round, was playing in his first ATP Masters 1000 semi-final, but did not look fazed as he broke Zverev twice in the first set.
Tabilo won five games in a row in taking the opener, but the second was much closer. The Chilean did force the only break point of the set, but Zverev held and went on to win the tiebreak.
Zverev raised his game in the deciding set, breaking twice, and never looked in danger as Tabilo's challenge faded, and the German reached his first final of the year.
He awaits the winner of Friday's second semi-final between American 14th seed Tommy Paul and another Chilean, 21st seed Nicolas Jarry.

England dismiss Pakistan for 110 to seize control of Lord's test
Raphinha, Fermin score as Barcelona beat Athletic in home opener
Celtic and Rangers to play cup match behind closed doors after pitch invasion
Chelsea and Fulham reach League Cup third round as Welbeck scores on debut
PSG to meet Barca, Man City as Champions League draw throws up marquee ties