(CNN) -- Rafael Nadal battled hard to overcome Roger Federer's conqueror and give himself a chance of a record-equaling 17th Masters 1000 tournament title in Italy.
The Spaniard dropped his first set on clay this season before defeating young Latvian outsider Ernests Gulbis 6-4 3-6 6-4 in Saturday's semifinals in Rome.
World No. 3 Nadal can move ahead of Federer and join American legend Andre Agassi in the all-time Masters list if he beats compatriot David Ferrer in Sunday's final.
Gulbis, who will rise six places in the world rankings to 34th next week, gave himself every chance of repeating his shock second-round win over No. 1 Federer as he blasted 50 winners to Nadal's 18, firing 13 aces to none.
But the 21-year-old paid the price for making 56 unforced errors against the defending champion's 23.
Nadal, who won three successive titles in Rome from 2005, will seek to match the mark set by Agassi in 2004.
He has not lost to Ferrer since the 2007 season-ending Masters Cup, and has a 10-3 advantage in career meetings.
Whoever wins, Spain is guaranteed an eighth victory in 10 years at the event, which was known as the Italian Open until 2002.
Ferrer earlier reached his first Masters final with a 7-5 6-3 win over compatriot Fernando Verdasco, avenging his defeat to the sixth seed in last weekend's semifinals in Barcelona.
Verdasco was unable to repeat his fine showing from Friday's energy-sapping three-hour victory over world No. 2 Novak Djokovic, last year's runner-up, as he faded after taking a 5-1 lead in the opening set.
The world No. 9 had won 12 of his past 13 matches on clay, losing to Nadal in the final in Monte Carlo last month.
"Until 5-1 things were going okay for me and also he wasn't playing his best and made some mistakes," Verdasco told the ATP Tour Web site. "Later, perhaps he saw that I was tired, not from 5-1 but since I got up this morning.
"The match yesterday was long and very physical against Novak and I was feeling good mentally but my body wasn't feeling the same as before, so I was slower and with less power. I was making mistakes and I wasn't playing a good game."
Meanwhile, Belgian comeback queen Justine Henin will face Samantha Stosur in the final of the women's Stuttgart Grand Prix on Sunday.
Henin, the 2007 champion, is seeking her first title since ending her 18-month retirement in January.
The former world No. 1 cruised to a 6-3 6-2 semifinal win over Israel's Shahar Peer, who on Friday knocked out third-ranked Dinara Safina.
She reached the 60th WTA Tour final of her career as she spoiled Peer's 23rd birthday celebrations before fellow wildcard Stosur continued her fine run on clay with a 7-5 6-3 win over Russian qualifier Anna Lapushchenkova.
The Australian is unbeaten in 11 matches on the surface after winning the Family Circle Cup in Charleston in the United States and then winning both rubbers on Fed Cup duty against Ukraine.