Roger Federer stayed on course for his third Rogers Cup title by beating Roberto Bautista Agut [16th in the ATP rankings] 6-4, 6-4 in 68 minutes and make it to the semi-finals in Montreal.

In the last four Federer will face Holland’s world number 52 Haase, who fought back after losing the first set against Diego Schwartzman to win 4-6, 6-3, 6-3.

Denis Shapovalov followed up his stunning victory against Rafael Nadal by beating Adrian Mannarino. The 18-year-old, ranked 143rd in the world, is through to his first ATP Masters semi-final after a 2-6, 6-3, 6-4 victory.

Fourth seed Alexander Zverev will face Shapovalov in the semi-finals.

The 20-year-old German remained on course to win back-to-back ATP Tour titles with a 7-5, 6-4 victory against Kevin Anderson, the player he beat in last week's Citi Open final.