Montanes, bidding for his second ATP clay-court title of the season, knocked off former French Open champion Ferrero 6-3, 7-6 (6).
The match was postponed during the first set due to rain.
Montanes had lost his previous five matches against Ferrero.
In the final he will take on third-seeded Gael Monfils of France.
Monfils reached his first ATP final of the season by knocking off unseeded Spaniard Daniel Gimeno-Traver 6-4, 4-6, 6-0.
Monfils is hoping to claim his third ATP title of his career.