Roger Federer stayed on course for his third Rogers Cup title by beating Roberto Bautista Agut in straight sets to reach the semi-finals in Montreal.

Second seed Federer, who turned 36 on Tuesday, is playing his first tournament since his latest Wimbledon success and won 6-4 6-4 in 68 minutes.

World number three Federer secured the decisive first break against Bautista Agut in the ninth game of the opening set and then served out to take control of the match.

Bautista Agut – 16th in the ATP rankings – was broken in the first game of the second set and although the Spaniard broke straight back he came unstuck again in his next service game and Federer this time held on to his advantage.

Federer last won the tournament in 2006, since when he has been a beaten finalist on three occasions, and a victory this year would boost his bid to become world number one after next week’s Cincinnati Masters.

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.

The wild card started slowly after his Thursday night heroics and Mannarino raced into a 4-0 lead before clinching the first set.

But Shapovalov, who recovered from a set down to beat Nadal and Brazilian Rogerio Dutra Silva already this week, broke in the sixth game of the second to force another decider.

The Canadian broke immediately after a rain delay but Mannarino hit back in the next game.

But Shapovalov broke again in the ninth game and clinically served out to the delight of the crowd.

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.