A battling Roger Federer was pushed to the limit before eventually beating lanky Czech Tomas Berdych 6-3 5-7 7-6 in a thriller that lasted nearly three hours to reach to the semi-finals of the Toronto Masters.
Having already beaten Federer twice this season, the towering Czech again appeared to have the Swiss' measure when he powered his way to a 5-2 lead in the third set.
But a relentless Federer refused to fold, finally getting the break he needed with Berdych serving for the match at 5-3.
With a breathless centre court crowd on its feet, there was more drama to come during a pulsating tiebreak that saw Federer jump ahead 4-love then hang on to clinch the victory 7-5 when Berdych sent a return into the net.
The quarter-final match marked the third meeting between the two in the past five months, the hard-hitting Czech winning the two previous encounters, including a shock quarter-final upset at Wimbledon.
Federer, twice a champion on the Canadian hardcourts, will next meet world number two Novak Djokovic in the semi-finals after the Serbian eased past Frenchman Jeremy Chardy in straight sets 6-2, 6-3.