Stanislas Wawrinka has defeated Roger Federer in straight sets to seal his place in the semi-finals of the French Open.

Wawrinka, 30, took a two-set lead before his fellow Swiss showed some resilience in the third, forcing a tie breaker.

But the number eight seed rallied to cause an upset at Roland Garros and seal a 6-4 6-3 7-6 victory, having lost all four of their previous meetings in Grand Slam matches.

He will meet home favourite Jo-Wilfried Tsonga in his semi-final showdown after the Frenchman edged past Kei Nishikori in a five-set thriller with a 1-6 4-6 6-4 6-3 3-6 win.

World number two Federer struggled against his younger countryman and failed to break serve in a Grand Slam match for the first time since 2002.

Wawrinka capitalised on lacklustre afternoon for the 17-time major winner, breaking in the third game. Federer, who last won the French Open in 2009, grew increasingly frustrated as the contest went on and was unable to capitalise on four break points on his opponent's serve despite clawing back a tie breaker in the third set.

Wawrinka clinches his spot in the final four for the first time in 11 attempts, while Federer's wait for another Grand Slam goes on, having last tasted major success at Wimbledon in 2012.

Federer is already looking to the next major of the year at Wimbledon, where he hopes he can return to his scintillating best.

"The wind was tough, and it's even more impressive the way Stan was able to play," said Federer. "I'm already thinking what I'm going to do the next few days, because Wimbledon is going to be a big goal for the season.

"That's where I want to play my best. It's a big goal for me. I want to win it, and I feel like my game is good. "It's been solid, it's been positive, and I have just got to keep it up now."