Roger Federer has ended Grigor Dimitrov's seven-match winning streak with a straight sets win in the quarter-finals of the Basel Open in Switzerland.
Third seed Federer is now two matches away from scooping a sixth title at his Swiss hometown tournament and guaranteeing his place in the season-ending ATP World Tour finals.
It was the first meeting between the 17-times grand slam champion and young pretender Dimitrov whose stylish game has drawn comparisons with Federer.
The eighth seed was the form player, having claimed his maiden ATP title in Stockholm on Sunday, but was unable to make the most of his chances.
Failure to win the Basel crown would leave Federer in danger of missing out on the eight-man season finale after a difficult year.
He is eighth in the ATP Race standings, with next week's Paris Masters the final event where players can earn points to qualify for the London showpiece.
Federer will play Vasek Pospisil of canada in the semi-finals, while top seed Juan Martin Del Potro of Argentina will face unseeded Frenchman Edouard Roger-Vasselin in the other semi-final.