Both cruised through their semifinals Saturday, Nadal beating the only non-Spaniard in the last four, Ivan Dodig, of Croatia, 6-3, 6-2, and Ferrer topping Nicolas Almagro, 6-3, 6-4.
Nadal won his 28th consecutive match in Barcelona, including five consecutive titles from 2005-09. He missed last year because of injury.
He defeated Ferrer in the Barcelona finals of 2008 and 2009, and in last weekend's final of the Monte Carlo Masters.
Nadal leads their career series 12-4.
A Spaniard will play in the Barcelona final for the 15th year in a row, and win it for an eighth year in a row. Ferrer, Spain's second highest-ranked player, hopes to add his name to the honor roll.
"I am very happy (to be in the finals)," Ferrer said. "Barcelona is the tournament that most motivates me, it is the tournament I most want to win.
"I know that it is going to be complicated with Nadal there, but I am in the final and I want to enjoy it."
Nadal earned his 500th career win by beating Dodig.
He's the second youngest player after Bjorn Borg to post 500 wins in the Open era.
"This is the consequence of years of hard work," said the 24-year-old Nadal. "The only negative thing is that I have already been on the circuit nine years."
PORSCHE GRAND PRIX: In Stuttgart, Germany, top-ranked Caroline Wozniacki defeated Agnieszka Radwanska, 7-5, 6-3, to advance to the final of the Porsche Grand Prix and earn a shot at her fourth title of the year.
For the title and the Porsche sports car that goes with it, Wozniacki will play Julia Goerges, who upset last year's runner-up, Sam Stosur, 6-4, 3-6, 7-5, to play for her second career WTA title.
Goerges becomes the first German in the Stuttgart final since Anke Huber in 1996.