Federer delivered a masterful grass-court performance to beat Tommy Haas 7-6 (3), 7-5, 6-3, extending his winning run to 18 consecutive matches and closing in on the mark he shares with Pete Sampras of 14 major titles.
Federer will meet Roddick in the final for the third time in six years after the American defeated Andy Murray 6-4, 4-6, 7-6 (7), 7-6 (5). The Swiss star beat Roddick in the 2004 and '05 finals and leads 18-2 overall.
"I know what's on the line," Federer said. "I hope I can play another good match."
The third-seeded Murray had been seeking to become the first British man to reach the final in 71 years and first to take the title since 1936, but Roddick outplayed him on the big points to silence the home fans.
"To be honest, the last couple of years I didn't know if I'd ever get a chance to play for another Grand Slam title," said Roddick, who won the U.S. Open in 2003. "Now I get to. It's just a dream."
Roddick saved a break point with Murray leading 4-3 in the fourth set with a forehand winner and then came through with big serves in the tiebreak. When Murray slapped a backhand into the net on the second match point, Roddick fell to his knees on the grass and leaned forward covering his head.
"I had to play my best tennis out there to win today," Roddick said. "I can't say enough good things about Andy's game, but I can play some tennis sometimes, and not many people were giving me much of a chance at all and I knew if I could stay the course that I had a shot and that's all you can ask for."
Murray dominated the statistics but still couldn't overcome Roddick's clutch play. Murray compiled more aces (25-21), more winners (76-64) and fewer unforced errors (20-24). Roddick won far more points at the net (48-15) and put in a far higher percentage of first serves (75-52) while hitting much harder than Murray, reaching a tournament-high 143 mph.
"If he serves like that," Murray said, "he's got a chance against anyone."
Roddick joked beforehand he'd be pretending that all those shouts of "Come on, Andy!" were for him, but he was outsmarted: Instead of the usual first-name cheers, the crowd yelled support for their man "Murray!"
"Throughout my career I've had a lot of shortcomings, but trying hard hasn't been one of them," Roddick said. "To be fair, he had all the pressure on him and I could come out and kind of swing and that probably helped me today."
Federer finished his match with a flourish, leaping high for a smash reminiscent of Sampras in his Wimbledon heyday. He is the first man to make it to seven consecutive Wimbledon finals in the history of a tournament that began in 1877.
Federer beat Haas for the ninth straight time to reach his record 20th Grand Slam final. He and Ivan Lendl had been tied at 19 apiece.
"I'm very happy with my performance and it's unbelievable to be back into another Wimbledon final," Federer said. "I've had a lot of pressure over all the years, so this is just another great match, great opportunity for me to get into the history books."
Federer won a remarkable 72 of 83 points on his serve, did not face a single break point and finished with 49 winners and only 15 unforced errors.
"You know, that's the way it goes playing against him," Haas said. "There aren't really any weaknesses."
If Federer wins Sunday, he will be the third player to win six or more Wimbledon titles. William Renshaw and Sampras both won seven.
"I'm very proud of all the records I've achieved because I never thought I would be that successful as a kid," Federer said. "I would have been happy winning a couple tournaments and maybe collecting Wimbledon. It's quite staggering now having reached ... my sixth straight Grand Slam final. Having so many things going for me now again, opportunity again on Sunday, it's fantastic."
If he beats Roddick, Federer will regain the No. 1 ranking from Rafael Nadal, who beat him in the Wimbledon final last year and missed this year's tournament with knee problems.
Federer said he is feeling less pressure this year than in 2007 when he equaled Bjorn Borg's record of five straight Wimbledon titles. Borg was among those watching Friday from the Royal Box.
"For some reason that meant the world to me," Federer said. "I was like in a bubble for two weeks, just trying to achieve it. So this time around I think I'm much more relaxed."
Federer, who completed a career Grand Slam by winning the French Open last month, said he would be happy if Sampras came to Wimbledon to watch him try to break his record. Sampras is home in California looking after his two young sons.
"He might come around, he might not," Federer said. "It's his choice. I'd love to see him because he's a good friend of mine. Very honored of course that I share the record of 14 with him."
Murray had won six of eight matches against Roddick, including their last three, but couldn't overcome the American's steady serving and attacking game on this day.
"He served great," Murray said. "Served really, really well in the tiebreaks. I think he maybe missed two first serves. If someone serves 130 mph consistently throughout the match, it's very tough to break them, especially on a court like this that's quick."
Roddick took the first set by converting the first break point of the match for either player. Murray broke in the next game and that held up to decide the second set.
Roddick was up a break in the third at 5-2, but an inspired Murray broke back at love in the ninth game. In the tiebreak, Murray held a set point on Roddick's serve at 6-5, but the American erased it with a winning forehand volley. Roddick missed a set point at 7-6 but converted at 8-7 when Murray netted a low forehand passing shot.
In the fourth set, with shadows creeping over the court and Murray looking a bit tired, Roddick saved the break point in the eighth game. He held a first match point at 6-4 in the tiebreak, but Murray ripped a cross-court backhand pass that left Roddick diving to the turf. On the next match point, Roddick hit a forehand approach deep into the corner that forced the final error from Murray.
A year ago, Roddick lost in the second round at Wimbledon, prompting some serious soul-searching. He was traveling in the States the day of the 2008 Wimbledon final, which Federer lost to Nadal 9-7 in the fifth set in fading light. Roddick wound up staying at the airport to watch the end of the match on TV.
Now it will be Roddick trying to beat Federer with a Wimbledon championship at stake. And Federer trying to beat Roddick with history at stake.
"Obviously you can't really say enough to kind of signify what Roger's career has been to this point," Roddick said.
As for Federer's bid to collect No. 15, Roddick said: "I'd love to delay it for another Grand Slam."
Information from The Associated Press was used in this report.