MONTE CARLO - Alexander Zverev edged out Brazilian teenager Joao Fonseca in three sets on Friday to reach the Monte Carlo Masters semi-finals for the third time.
The world number three sealed a battling 7-5, 6-7 (3/7), 6-3 victory, setting up a last-four clash with either Jannik Sinner or Felix Auger-Aliassime.
Zverev is targeting his first ATP title since winning in Munich 12 months ago.
The German could also complete a career sweep of the clay-court Masters 1000 events, having previously won both the Italian Open and Madrid Open twice.
He has lost his past seven meetings with Sinner, although the Italian has never won a Masters title on clay.
Big-hitting 19-year-old Fonseca was playing in his first Masters quarter-final but pushed his opponent for long periods.
Three-time Grand Slam runner-up Zverev broke in the 11th game and then served out the opening set to love, before breaking again at the start of the second.
Fonseca reeled off four straight games from 3-1 down to tee up the chance to serve for the set, but he failed to take the opportunity.
The world number 40 found his rhythm in the tie-break, though, crushing a string of magnificent groundstrokes to force a decider.
But Fonseca could not maintain that level as Zverev improved.
The 28-year-old broke in the sixth game and confidently served out victory, reaching his third straight Masters 1000 semi-final this year.
Later on Friday, world number one and reigning champion Carlos Alcaraz takes on Alexander Bublik, before Alex de Minaur plays Valentin Vacherot.