Roger Federer is on course for the US Tennis Open after a successful defence of his Cincinatti Masters title.
But the world number two was fully stretched to beat the unseeded American Mardy Fish 6-7 7-6 6-4.
Fish, enjoying the best form of his life, had beaten Andy Murray in the quarter-finals.