Haas posted a 4-6, 7-6 (7-4), 6-2 decision over Almagro in the first meeting between the two since 2005. Haas took that match in a tight two sets.
Almagro had 18 aces -- nine in the first set -- and didn't lose his serve until the third set. But Haas, who lost his serve just once, had a pair of breaks in the final set.
The Almagro-Haas match was the final one on the day's 10-match schedule and the only one to go to three sets.
No. 10-seeded Marin Cilic defeated Lukasz Kubot 7-5, 6-3 by winning two-thirds of the points on serve.
Eleventh-seeded Richard Gasquet converted four of his five break chances in a 6-2, 6-3 win over Brian Baker.
Alexandr Dolgopolov cruised by Jeremy Chardy 6-3, 6-2, Kevin Anderson beat Jarkko Nieminen 6-3, 7-6 (7-4) and Sam Querrey eliminated wild-card entrant Li Zhe 6-3, 6-1 in 59 minutes.
Puzzle-maker slips 'Murdoch Is Evil' into Rupert Murdoch's Sunday Telegraph
Police: Sword-wielding man demanded free tacos