Soderling edged David Ferrer of Spain in three sets 4-6, 6-3, 6-2 on Saturday.
Ferrer started well, breaking Soderling in the third game of the match and went on to win the first set.
The big-serving Swede, who had 11 aces in the match, came back to win after breaking Ferrer once in the second and twice in the third.
Fourth-seeded Almagro swept Tommy Robredo 6-1, 6-3 on center court in only 68 minutes.
Two-time champion Robredo was no match for Almagro, who broke his serve three times in the first set.