The Russian had reached the last four for the first time after an impressive career comeback, following early round exits at a string of recent tournaments, and a battle against injuries.
However, the Swiss world number one stamped his authority from the outset, winning his first service game to love and breaking Safin's serve in the second game.
Safin served powerfully to take the second set to a tie-break, but lost after a series of unforced errors. Despite some impressive shots from Safin in the third set, the Russian grew visibly frustrated at his inability to break Federer's serve, and smashed his racket just before the Swiss took a 5-4 lead.
Federer has now extended his record for consecutive grass court victories to 65, and will be seeking a 56th career title.
Federer is almost certain to meet Spain's Rafael Nadal for a third consecutive Wimbledon final showdown between the world's top two players. Nadal's opponent in the second semifinal, Germany's Rainer Schuttler, is ranked 94th in the world.