The Swiss star advanced to meet Tomas Berdych, who edged Juan Martin del Potro 7-6 (5), 7-6 (6) in the other semifinal.
"It's going to be a tough match," said Federer. "Berdych is playing well himself. It's quick conditions and he can be a big threat in the finals like that."
On the women's side, Serena Williams will meet top-ranked Victoria Azarenka in the final after they dispensed with their rivals in straight sets.
While both Rafael Nadal and top-ranked Novak Djokovic vowed to never again play on Madrid's new blue-clay court after early exits, Federer's more technical style has not been overly hampered by the surface many players have criticized as slippery.
Federer, who won Madrid in 2006 and 2009, shook off the late afternoon gusting winds to hit 25 winners and eight aces en route to the easy victory.
While dominating his service games, Federer moved Tipsarevic around the court with an expert mix of shots until he got a break to go ahead 3-1 when his low slice forced his opponent into netting.
Federer broke again to claim the first set by drawing an error from Tipsarevic with a forehand that clipped the sideline.
Tipsarevic, who had upset Djokovic on Friday, fell behind for good at 3-1 in the second set when he could barely graze Federer's crosscourt return.
Federer holds a 10-4 record against Berdych, but the Czech has won three of their last five meetings.
"(Berdych) got me in big matches in my career in Wimbledon and at the Olympics. I got him back at the same places," Federer said. "Still I remember those losses vividly. I think that we match up pretty well against each other because of the shot-making."
Sunday will be the 30-year-old Federer's 104th final, where he will seek his 74th career title.
Earlier, the sixth-seeded Berdych, who hadn't won a set in his last three matches he lost to Del Potro, used his big serve to score 15 aces and overcome the Argentine's skilled baseline game.
"It was really just about one or two points that decided for my side," said Berdych. "It was really close. We fought for every point and I am really happy to have gone through."
Williams beat Lucie Hradecka 7-6 (5), 6-0 and Azarenka ousted fourth-seeded Agnieszka Radwanska 6-2, 6-4.
The ninth-seeded Williams will play for her second title of the season. Azarenka has won four tournaments so far.
"Victoria has been so consistent in her game this year," said Williams. "She is so consistent, so amazing and so, just nearly perfect. I am going to the final with nothing to lose."
Williams enjoys a 6-1 head-to-head record against Azarenka, whose only win came in 2009. This will be the first time they meet on clay.
"She's one of the best players in the world and one of the toughest opponents to play against so we'll see, but as I said it's going to be a different story," Azarenka said.
Williams held off the tenacious Hradecka's seven early aces in the first set that she won in a tiebreaker. She then broke the Czech three times in the second to cruise to her 12th consecutive win on clay this season.
"She just did everything really well and I was able to come through in the tiebreaker," said Williams. "After that I was able to relax, to make less errors and make more shots and be more aware out there."
The 105th-ranked Hradecka had upset defending champion Petra Kvitova and U.S. Open winner Sam Stosur to reach the semifinals.
Azarenka was in good form and had little trouble beating Radwanska for the sixth straight time. She hit a deep return to set up a slam and break her Polish opponent's first service game. She went on to hit 14 winners and held for love to wrap up the first set. The players traded a pair of breaks in the second set before Azarenka, the runner-up last year, won a decisive third break with a crosscourt return.
"(Radwanska and I) keep meeting each other," said the Belarusian. "I'm glad to win today. The score maybe wasn't so close, but it was a good match."
In men's doubles, Canada's Daniel Nestor and partner Max Mirnyi of Belarus were knocked out of the semifinals by Poland's Mariusz Fyrstenberg and Marcin Matkowski, 7-6 (3), 6-7 (6), 12-10.