Roger Federer put on a blue clay master class to move to within one win of a return to the world number two ranking as he hammered Janko Tipsarevic 6-2, 6-3 for a place in the Madrid Masters final.
The Swiss, who owns a record 16 Grand Slam titles, will replace Rafael Nadal on Monday in the standings if he beats Tomas Berdych for the title.
Czech sixth seed Berdych, who toppled Argentine Juan Martin del Potro 7-6 (7/5), 7-6 (8/6), trails Federer 6-10 in their career series, but has won three of their last five meetings dating to 2010.
Federer was flawless on the same slick blue clay surface which had angered world number one Novak Djokovic and number two Nadal, both men vowing never to return if the surface does not change.
The Swiss improved his record over Tipsarevic, who put out Djokovic in the quarter-finals, to 5-0.
Another title on Sunday would pull Federer level on the all-time mark of 20 Masters trophies alongside Nadal.
The record-setting Federer is into his 104th ATP final as he aims for a 74th trophy. It will be his 32nd Masters final (19-12).
Federer, whose graceful game has allowed him to practically glide along the clay which has tripped up many of his rivals, turned in a typically picture-perfect performance.
He swept the opening set, concluding with a break of Tipsarevic and quickly ran out to a 4-1 lead in the second.
Federer put the one-way contest away on his second match point, ending with 25 winners and 13 unforced errors in just 67 minutes.
In the other semi-final, Berdych fired down 15 aces in a contest lasting just over two and a quarter hours at the Caja Magica.
"He was my toughest match of the week," said the winner. "I had that feeling from the start. But I was confident going in. I had my belief.
"I'm definitely happy with my the game that I've played here all week."
The Czech won only his second match out of five against Del Potro, who captured the Estoril title last weekend, as he began his campaign for the French Open later than most of his rivals after resting at home.
Coming to the court, Berdych had won 26 service games this week and got one more before finally being broken in the third game of the opening set.
But he took it back in the 10th game for 5-5 as Del Potro was broken while serving for the set.
The distraught Argentine rallied from 1-5 down in the tiebreaker but still lost it after 68 minutes.
Berdych began the second with a break, was broken back for 3-3, but again showed his nerve with a winning tiebreak effort to advance into the title match on a second match point after Del Potro saved the first with an ace.
Del Potro dropped to 10-1 on clay this season and 22-2 on sets after defeating Berdych in their last three meetings without losing a set.
"I lost because Berdych played better, and that's the only reason," said Del Potro, who disputed several line calls and did not shake hands with the chair umpire at the end of the match.
Berdych will be playing in his 14th ATP World Tour final and third Masters final, having won in Paris seven years ago before losing in Miami in 2010.