World number three Alexander Zverev remained on course to claim his first title of the season after overcoming Cristian Garin 7-5 6-2 to book his place in the Italian Open semifinals on Friday.
Zverev, who won the title in Rome in 2017, proved too strong for Garin in the pair's first meeting since the Chilean upset him on home soil en route to winning the ATP 250 event in Munich three years ago.
Garin had the first break point of the match at 3-2 but Zverev squirmed his way out of it and broke his 25-year-old opponent to take a 4-3 lead and, after some poor shot selection, closed out a gritty opening set.
Zverev comfortably won the second set after Garin dropped serve in his first game, converting two out of his seven break points to wrap up the victory.
"I think it was a high level match, at times it wasn't pretty tennis but I got the job done and that's the most important thing," said Zverev, who is yet to drop a set in Rome.
The 25-year-old German will face the winner of the match between world number five Stefanos Tsitsipas and home favourite Jannik Sinner, which will be played later on Friday, for a place in the final.
World number one Novak Djokovic will also be in action later and take on Felix Auger-Aliassime after Casper Ruud and Denis Shapovalov face off in their quarterfinal.