The seven-time champion returned to the court, having earlier banished Leonardo Mayer, to defeat his fellow Swiss 6-7(2) 7-6(6) 6-2.
The momentum decisively swung in Federer’s favour when a lightning storm caused the match to be suspended for 21 minutes after the second set. The world number two soon broke after the resumption, his first breakthrough of the match, before charging through the final set.
Tokyo 2020
Federer's Olympics withdrawal raises more doubts about what lies ahead
14/07/2021 AT 07:40
"It's quite unusual to stop for lightning," Federer said.
"I didn't know if it meant the end of the night or that we would come back. I got my energy back for the third set, a momentum shift was good for me."
Federer, who is the top seed in Cincinnati after world number one Rafael Nadal withdrew, will meet David Goffin in the last four. The Belgian beat Juan Martin del Potro 7-6(5) 7-6(4).
The other semi-final pits Novak Djokovic against Marin Cilic, with the Serb overcoming defending champion Grigor Dimitrov and Milos Raonic on Friday.
Tokyo 2020
Murray, Djokovic in, Williams, Federer out - who's playing tennis in Tokyo?
13/07/2021 AT 07:54
Wimbledon
'Grand Slams are everything' - Djokovic ready to join Federer, Nadal on 20 majors
09/07/2021 AT 19:51