Novak Djokovic has scraped past Tomas Berdych and into the Rogers Cup semi-finals with a straight-sets win.
The world number one battled to a 7-6 (8-6) 6-4 victory in Toronto on Friday after surviving a tough first set he somehow won.
Berdych squandered three set points as he gave up a 6-3 lead in the tie-break, going on to lose for the 25th time in 27 matches against Djokovic.
Djokovic, a three-time champion of the ATP 1000 event, will face either Milos Raonic or Gael Monfils in the last four.
Progression had looked somewhat unlikely despite taking a 5-2 lead in the first set as Berdych broke back before dominating the early stages of the tie-break.
However, the Serbian rallied to take the opening set before breaking for 2-1 in the second - an advantage he would this time not relinquish.
Berdych denied Djokovic in the ninth game but the latter served it out to love to complete his win.
Djokovic was well below his best, finishing with 33 unforced errors and 14 winners, while Berdych was similar.
Berdych had 44 unforced errors, but was left to rue missed chances after converting just one of eight break points.