Federer made quick work of Spaniard Feliciano Lopez in a 6-3 6-4 quarter-final romp that lasted just over an hour.
Murray needed to grind out another win against Richard Gasquet, outlasting the Frenchman 4-6 6-1 6-4 after two hours.
Third seed Murray saved a match point in the third set and fought fatigue to win his second straight three-set battle.
“I fought and gave everything I had, but thankfully it’s just been enough in the last two days,” Murray, who lost to Federer in straight sets in the Wimbledon semi-finals, told reporters.
Earlier, top seed Novak Djokovic avenged his French Open final loss to Stan Wawrinka by crushing the Swiss 6-4 6-1.
Djokovic, now two wins away from becoming the first player to win all nine ATP Masters titles, needed a mere 63 minutes to dispatch fifth seed Wawrinka in the first meeting between the players since Roland Garros.
Wawrinka denied Djokovic a chance to complete a career grand slam in Paris but was wayward in Cincinnati, finishing with 33 unforced errors and pushing a backhand wide on match point.
Djokovic, a four-times runner-up in Cincinnati, broke Wawrinka’s serve four times and dropped just 12 points on serve in his final tune-up event ahead of the U.S. Open which starts Aug. 31.
“(My performance) came at the right time against one of my biggest rivals and the guy I lost to last time we played in the finals of the French Open,” Djokovic said.
“Obviously I approached this match very seriously in trying to prepare myself and get myself in a good position to win.”
The world number one next faces Ukrainian qualifier Alexandr Dolgopolov, a 6-4 6-2 winner over Czech sixth seed Tomas Berdych.