Andy Murray's Cincinnati Masters bid ended at the semi-final stage as Roger Federer recorded a 6-4 7-6 (8-6) win.
Murray deposed Federer as world number two this week but lost the first set to some often impeccable Federer strokes.
The second set was fiercely contested, with no breaks, but Federer prevailed to win in one hour 37 minutes, taking his record against the Briton to 14-11.
In Sunday's final he will play top seed Novak Djokovic, who beat Ukranian Alexandr Dolgopolov 4-6 7-6 (7-5) 6-2.
The 34-year-old has now won his last five matches against Murray, and has taken 10 straight sets against the 28-year-old Scot.
His last defeat against him came in the Australian Open semi-finals in January 2013.
Federer, who broke in the third game of the match and hit 14 winners in taking the opening set in 38 minutes, can reclaim the world number two ranking if he wins the final.
The former World number one has benefitted from having a rest since losing to Djokovic in the Wimbledon final last month.
"I've been practising away from the game since Wimbledon," he said. "It's not that long, but in tennis terms one month is a long time. Hopefully I can take advantage of the fact that I'm fresh and ready to go.
"But I couldn't ask for a tougher opponent than Novak."
Murray had endured gruelling three-set matches in the last two rounds and had spent more than twice as much time on court as the Swiss in the tournament.
He will now turn his attention to the US Open which begins on 31 August.
The Scot said: "I feel okay. I've done well to recover from some tough matches. The positive about losing today is I get the opportunity to have an extra days' rest and recovery. I need that."
Djokovic overcomes double scare
World number one Djokovic needs victory in this event to become the first man to complete the set of all nine Masters titles.
Trailing by a set to the world number 66, the 28-year-old had to take a medical timeout after the fifth game of the second set.
A trainer checked his lower rib cage on his left side and his abdomen, a concern with the final Grand Slam of the year, the US Open, starting at Flushing Meadows on 31 August.
Djokovic was then within two points of defeat but won three successive points to take the second-set tie-break and went on to secure victory in two hours 20 minutes.
Serena to face Halep
Top seed Serena Williams was broken early in the opening set and made 34 unforced errors but saw off 14th seed Elina Svitolina of Ukraine 6-4 6-3 in the women's semi-final.
"I got off to a super slow start today but I started going for it and I think that helped me out," said the 33-year-old after her 47th win of the season.
She will defend her title against third seed Simona Halep, who thrashed former world number one Jelena Jankovic 6-1 6-2 in the late semi-final.
That win secured the Romanian second seeding behind Williams at the US Open.