Almagro won the Brazil Open last weekend for his 11th ATP title — all on clay — and will go for No. 12 on Sunday.
Almagro and Wawrinka remained on serve in the final set until Almagro broke in the last game.
"I think both of us played at a high level," Almagro said. "I'm really happy because last year here I achieved something important in my career. I know it will be tough, but we'll see what happens on Sunday."
Almagro had two break points in the eighth game of the last set, but failed to convert either opportunity. He fended off a break point of his own in the 11th game to keep the match on serve, then broke Wawrinka.
Ferrer's victory was lopsided.
He won the first set in 20 minutes, with Nalbandian unable to find his stroke in front of his boisterous home fans.
The second set was stopped for 25 minutes during the fifth game when high winds and light rain swept across the outdoor venue in central Buenos Aires. At the time it was 2-2, and 30-30 with Nalbandian serving.
Nalbandian held serve but was broken in the seventh game, damaging his chances.
"It was a perfect day here and suddenly this little storm to cause the delay," Ferrer said.