Roger Federer continued his march towards a third Rogers Cup triumph with a straight-sets win over Roberto Bautista Agut on Friday.
The Wimbledon champion, seeded second in Canada, secured a6-4 6-4 victory in under 70 minutes to book a showdown with first-time Masters 1000 semi-finalist Robin Haase.
Federer dropped the first set in his last-16 win over David Ferrer and was given a stern examination in Friday's opener in Montreal.
Bautista Agut's serve finally came under concerted pressure in game seven, but Federer surprisingly misfired with a pair of backhands as the Spaniard held firm.
However, there was no such reprieve the next time the 12th seed served, with Federer pouncing on his second break-point opening as his opponent fired a forehand wide.
That left Federer serving for the set and the 36-year-old made no mistake, holding to love in a game sealed by an ace.
The Swiss maestro took that momentum into the opening game of the second set and, despite a poor volley gifting Bautista Agut a point, he broke to apparently seize control.
Bautista Agut's response showed character, though, and he broke back following a sloppy Federer service game which culminated in an unforced error from the 19-time grand slam champion.
Hopes of a revival were, however, short-lived, with Federer upping his levels to break again as he combined his fluid movement with some pinpoint shots to confound his rival.
That set the stage for Federer to wrap up the contest in relatively short order and he will be firm favourite to down Haase in the last four of a tournament he last won in 2006.