The 35-year-old, bidding to win a record eighth title and become the oldest champion at the All England Club in the Open era, will face Croatia's Marin Cilic in Sunday's final.
Seventh seeded Cilic reached his first Wimbledon title match at the 11th attempt with a 6-7 (6/8), 6-4, 7-6 (7/3), 7-5 win over America's Sam Querrey.
“I feel very privileged to be in another final and get the pleasure to play on Centre Court another time,” said Federer who was playing in his 42nd Grand Slam semi-final.
He is the second oldest man to make the Wimbledon final after 39-year-old Ken Rosewall finished runner-up in 1974.
With Andy Murray and Novak Djokovic suffering injury-hit exits in the quarter-finals and Rafael Nadal losing in the last 16, Federer will be the favourite to become Wimbledon's oldest champion, succeeding Arthur Ashe who was almost 32 when he won in 1975.
But despite leading Cilic 6-1 in career meetings, Federer will be wary of a man who was two sets to love up on him in the quarter-finals last year and held match points.
“We had a brutal quarter-final last year here and he crushed me in straight sets at the US Open in 2014,” said Federer.
“I have to play offensive. If you give Marin time on the ball, he can finish points nicely. The court is still playing quite fast. It helps on my serve, but it also helps him. I'm sure it's going to be a close match.”
Federer had defeated 2010 runner-up Berdych 18 times in 24 matches before Friday and he was quickly in the ascendancy, breaking for 3-2.
But an uncharacteristic double fault handed the break back in the eighth game before the 18-time major winner played a more composed tiebreak.
He pocketed the opener when Berdych miss-hit and ballooned the ball wide. Berdych kept pressing but had to fend off more break points in the fourth game of the second set before Federer again swept through the breaker on the back of a 5/1 lead.
The big Czech would have to win from two sets down at the Slams for the first time in 38 matches if he were to return to the final.
Berdych, who had the face of his vanquished quarter-final opponent Djokovic painted on the tongues of his tennis shoes, saved a break point in the fifth game of the third set.
Federer then saved two to go to 3-3, made the Czech pay with a break for 4-3 and raced through a 50-second service game for 5-3.
Victory was his in the 10th game when Berdych netted a weary forehand.
“This guy doesn't really seem to be getting any older,” said Berdych of Federer who has made the final without dropping a set.
Cilic, the 2014 US Open winner, fired 25 aces and 70 winners past world number 28 Querrey, the man who ended Murray's reign as Wimbledon champion in the quarter-finals.
“It's unbelievable. I have played really well from the start of the tournament,” said 28-year-old Cilic. “I'm feeling a positive on the court. It's extremely important. My emotions are helping me a little bit.”
Cilic admitted he faces a tough challenge trying to depose sentimental favourite Federer on Sunday.
“Roger is playing the best tennis of his career on this court,” said Cilic, the second Croatian man to make the final after 2001 champion — and former coach — Goran Ivanisevic.
“I never doubted it. Who knows what will happen in the final? It's great to see Cilic there,” Ivanisevic told the BBC.
Cilic took a 4-0 career lead over Querrey into Friday's semi-final, including a marathon 5hr 31 min win at Wimbledon in 2012, the second longest match in tournament history.