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.
FIFA President Gianni Infantino proposed an outside review of how the governing body makes major decisions on Monday, acknowledging in a letter to members that its handling of a now-abandoned investment plan had caused concern.
Captain Marquinhos has snatched the winner as champions Paris St Germain won 2-1 at troubled Olympique de Marseille in Ligue 1 on Sunday, condemning the hosts to a fifth successive loss and a spot in the relegation zone.
Anders Dreyer has scored his 10th and 11th goals on either side of halftime and visiting San Diego FC earned a 2-2 draw against Lionel Messi and defending MLS Cup champions Inter Miami on Sunday night.
Manchester City head into the first international break three points clear at the top of the Premier League after Antoine Semenyo's double sealed an enthralling 5-3 home win over Sunderland, for whom Brian Brobbey grabbed a hat-trick, on Sunday.