Roger Federer is just one win away from claiming a third Rogers Cup title ©Getty Images

Switzerland's Roger Federer is just one win away from claiming a third Rogers Cup title after he made it through to tomorrow's final with a straight-sets victory.

The 36-year-old sealed his place in the final with a 6-3, 7-6 win over Dutchman Robin Haase at the Uniprix Stadium in Montreal.

Victory extended Federer's current winning streak to 16 matches as he closes in on a sixth tournament win of the campaign.

He is due to face Alexander Zverev in the final after the German brought Denis Shapovalov's thrilling tournament to an end.

Canadian Shapovalov defeated Spain's Rafael Nadal and Juan Martin del Potro of Argentina on his way to the last four but fell at the penultimate hurdle.

Zverev, seeded fourth, defeated the 18-year-old home favourite 6-4, 7-5.

Denmark's Caroline Wozniacki is through to the women's final of the Rogers Cup ©Getty Images
Denmark's Caroline Wozniacki is through to the women's final of the Rogers Cup ©Getty Images

In the women's event, currently taking place at the Aviva Centre in Toronto, Denmark's Caroline Wozniacki will have the chance to win her first title of 2017.

Despite reaching five finals this year, Wozniacki has failed to turn a single one into victory but has another opportunity after defeating Sloane Stephens of the United States today.

Wozniacki, the Rogers Cup champion in 2010, overcame Sloane Stephens of the United States 6-2, 6-3.

Defending champion Simona Halep of Romania was comfortably beaten 6-1, 6-1 by Ukraine's Elena Svitolina in the second semi-final.

The pair were also forced to play their quarter-finals earlier in the day after rain caused chaos with the schedule.

Svitolina came from behind to beat Spanish Wimbledon champion Garbine Muguruza 4-6, 6-4, 6-3.

Halep, meanwhile, brushed aside France's Caroline Garcia 6-4, 6-2.