Ferrer will face fellow Spaniard Almagro in Sunday's championship match at the clay-court tournament in Bastad.
Ferrer had little trouble overall with the sixth-seeded Dimitrov en route to a 6-3, 7-5 victory. Ferrer saved a pair of set points in the second set against the Bulgarian.
"I didn't serve well today," said Ferrer. "I saved good points and I was a bit lucky in the (second) set."
Almagro, who won the Swedish Open in 2010 and was runner-up last year, topped Jan Hajek of the Czech Republic 6-4, 6-3 in his Saturday semifinal match.
Rosie O'Donnell unveils nearly 50-pound weight loss
Putin thinks Obama would save him if he were drowning