Basle - Roger Federer ended Grigor Dimitrov's seven-match winning streak and showed the Bulgarian he has some way to go to live up to his 'Baby Federer' tag with a 6-3 7-6 (2) quarter-final victory at the Basle Open on Friday.
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.
Dimitrov passed up five break points in the first set while Federer clinically won both of his to take the opener in 35 minutes.
The world number 22 got his nose in front in the second set but Swiss great Federer fought back, forced a tie break and then ran away with it to set up a semi-final against rising Canadian talent Vasek Pospisil.
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.
Top seed Juan Martin Del Potro of Argentina will face unseeded Frenchman Edouard Roger-Vasselin in the other semi-final.
Results on the fifth day the Swiss Indoors tennis tournament on Friday (x denotes seeding):
Roger Federer (SUI x3) bt Grigor Dimitrov (BUL) 6-3, 7-6 (7/2)
Juan Martin del Potro (ARG x1) bt Paul-Henri Mathieu (FRA) 6-4, 6-4
Edouard Roger-Vasselin (FRA) bt Daniel Brands (GER) 6-3, 4-6, 6-3
Vasek Pospisil (CAN) bt Ivan Dodig (CRO) 7-6 (13/11), 6-4