The Swiss world number one triumphed as Australian Lleyton Hewitt saved three match points before falling 6-3, 6-7 (7-9), 7-6 (7-1).
Number nine Blake put out Russian fifth seed Nikolay Davydenko 6- 2, 6-4, ending with a screaming cross-court winner.
Blake lost to Federer for the sixth time without a win in November 2006 in Shanghai.
"He's been the best in world last few years," said Blake, who pulled out last week in Montreal with an abdominal injury. "He has an excellent record in finals. But if I'm in the final it shows that I'm playing great. I think I have a chance."
It took a surge from Federer in the third-set tiebreaker to secure his 11th straight win over Hewitt and reach a 13-7 career mark in their series.
Federer, winner of 11 Grand Slam titles, had his troubles in a battle of two hours, 35 minutes, in which he advanced with 18 aces, produced 46 winners and 36 unforced errors, and broke Hewitt three times.
"I needed those aces. It was good to get some freebies once in awhile. He is so aggressive, and this is a quick court," said Federer.
He came out on top after three straight breaks of serve in the first set to lead 3-1 but needed four set points to close out the opener against the Australian winner of the US Open and Wimbledon.
"This was a classic match. It's always tough stuff between us," said Federer, 44-6 this season with four titles. "Playing Lleyton makes me nervous. He makes you miss so much, I'm happy to to escape with this win."
The unseeded Hewitt's performance could secure him a seeding in the last major of the year, the US Open starting August 27, as he rises toward the top 16. He saved a first match point late in the second-set tiebreaker before levelling on his own second set point.
The third set remained equally tight, with breaks in the fifth and sixth games before Federer tore through the decider and claimed the nervy victory on the first of five fresh match points.
"I played some big points on my serve to get out of trouble," said Hewitt, who won his first seven career matches against Federer.
"But all in all, he served well in the big serve games. That's why he's one of greatest players ever. He can pull the trigger on the big points and nine times out of 10 it comes off.
"It was a lot closer today than last week," said Hewitt. "In the end I battled away to get into the (final-set) tiebreaker but played a couple of loose points early."
He has felt himself getting "better and better" with each match.
"If I keep giving opponents like Roger trouble, sooner or later it will fall my way. In the last two weeks, I couldn't have asked for better preparation for the US Open. It's taken the best guy in the world to knock me off."
The 2005 Cincinnati titleholder, Federer is keen to crack the career 50-win mark after being denied a week earlier by Novak Djokovic in the Montreal final.
"To earn my 50th would be really special," said Federer, aiming for a fourth consecutive US Open title. "I just missed it last week by three or four points. I'll give everything I have to get it here."