Roger Federer and Jo-Wilfried Tsonga will contest the Rogers Cup final after comfortable semi-final wins.

Seventeen-time grand slam champion Federer was seldom troubled in beating Feliciano Lopez 6-3 6-4 and will pursue his third Toronto title against Tsonga.

The Frenchman, seeded 13th, disposed of both world number one Novak Djokovic and Andy Murray to reach the last four, where he saw off seventh seed Grigor Dimitrov in straight sets.

Tsonga saved four break points in the first set and needed only one of his own to win the set 6-4.

Two more breaks followed in a comfortable second set as Tsonga won 6-4 6-3 in 84 minutes, winning 88 per cent of points behind his first serve.

Federer was similarly dominant, though he needed 11 break points to pick up the two he needed against the Spanish left-hander.

The serve statistics were telling, Lopez's double faults outnumbering his aces while Federer had just one set against 13 aces.

The Swiss star even had chance to show off his trademark between-the-legs shot in a second-set rally that ended with him blazing the ball wildly into the crowd.

He has won 11 of his 15 career meetings with Tsonga, though the latter has two wins over Federer in Canada and also knocked him out of last year's French Open, in straight sets, and Wimbledon 2011 where he came from two sets down.

It is Tsonga's first ATP Masters 1000 final since losing to Federer in Paris in 2011 and he said: "I'm feeling good. I have been waiting for this moment for a couple of years now.

"This week I'm more consistent and it's good because it [helped] me beat three guys in the top 10. I didn't do that (for a) couple of years now and it gives me hope for the rest of the year."

He added: "When you play against Roger, it's always special. "First, because you play in a big area, in a big stadium anyway.

"And every time the crowd is for him, so it's quite a good sensation. It's quite a good feeling when you win against 10,000 people."