Paris - Roger Federer beat Belgium's David Goffin 6-1, 7-6 (12/10) on Friday to reach the ATP Halle grasscourt semi-finals and move to within one win of an 11th appearance in the final.
The Swiss world number three, a 17-time Grand Slam winner, is seeking a ninth title in the Wimbledon warm-up event and fourth in succession at the tournament.
Top seed Federer will play Alexander Zverev in Saturday's last four after the young German, 19, beat Cypriot Marcos Baghdatis 7-6 (11/9), 6-3.
"I thought Zverev played well. He played a crucial huge first set," Federer said.
"Marcos should have won that but ended up losing it, the momentum goes Zverev's way, one break and the match is over. So credit to Zverev for getting the job done.
"He's got a big serve, he's got a nice backhand, he's improving his forehand and he's moving forward. He's going to be a tough player in the future, no doubt about it."
Federer won their lone career meeting so far, 6-3, 7-5 at last month's Rome Masters.
Zverev recorded his 26th match win in a career-best year to knock out 2007 runner-up Baghdatis.
"For me it doesn't really matter what surface it is," said the teenager.
"It depends more on me, how I play, how I feel. I've played well on all four surfaces. I've played well on clay, I've played well on hard at the beginning of the year."
Austria's Dominic Thiem, the third seed, is also through to the semi-finals after German Philipp Kohlschreiber pulled out of their quarter-final with a hip injury.
Results from the ATP Halle grasscourt Open on Friday (x denotes seeding):
Roger Federer (SUI x1) bt David Goffin (BEL x5) 6-1, 7-6 (12/10)
Alexander Zverev (GER) bt Marcos Baghdatis (CYP) 7-6 (11/9), 6-3
Dominic Thiem (AUT x3) bt Philipp Kohlschreiber (GER x8) - walkover
Florian Mayer (GER) bt Andreas Seppi (ITA) 7-6 (7/4), 6-3