Ferrer saved 10 of the 14 break points he faced and overcame six double faults to win the 2-hour, 43-minute match that started late Thursday and didn't finish until well past midnight.
The third-seeded Almagro now has won 12 straight matches and is trying to add the Mexican title to trophies he picked up last weekend in Argentina and the week before in Brazil on the monthlong Latin American clay-court swing.
Asked about the 12 straight victories, Almagro said he hoped to make it 14 by Sunday.
"It's a beautiful number," he said. "I haven't stopped thinking about the two tournaments in a row I've won, and now the semifinals here. But there are still two days to go."
In other quarterfinal matches, Thomaz Bellucci of Brazil needed just over three hours to defeat Poland's Lukasz Kubot 6-7 (5), 6-3, 6-4, and Alexandr Dolgopolov of Ukraine upset No. 4 Stanislas Wawrinka of Switzerland 6-4, 7-6 (6).
Bellucci faces Almagro in the semifinals, while Ferrer plays Dolgopolov.
In quarterfinal matches on the women's side of the joint ATP-WTA event, Johanna Larsson of Sweden upset third-seeded Greta Arn of Hungary 6-2, 4-6, 6-2, No. 6 Arantxa Parra Santonja of Spain defeated compatriot Loudres Dominguez Lino 2-6, 6-3, 6-2, and No. 4 Gisela Dulko of Argentina outlasted Laura Pous-Tio of Spain, 3-6, 7-5, 6-0.
Anabel Medina Garrigues of Spain also advanced when her opponent, Carla Suarez Navarro, retired from their match while trailing 6-2, 2-2.