Almagro was a 6-3, 6-2 winner and will take on Albert Ramos in Saturday's semis. Ramos, the No. 8 seed, defeated Fernando Verdasco 7-6 (7-5), 6-3.
Ranked 11th in the world, Almagro won this tournament in 2008 and again last year against Alexandr Dolgopolov.
The other semifinal will send Filippo Volandri against Thomas Bellucci.
Volandri surprised David Nalbandian 3-6, 6-3, 7-5. Bellucci outlasted Leonardo Mayer 3-6, 6-2, 7-5.