Neither player earned a break point during a keenly contested opening set, which was very much going with the serve.
Almagro has been near-faultless on tie-breaks all week, and continued his good record by winning 7-3 to edge in front.
The second set went the same way, as both players struggled to impact the other's serve. Again it went to a tie-break, with Almagro taking a two-set lead.
Janowicz could not repeat his heroics against Somdev Devvarman and capitulated in the third set, losing it 6-1 in 32 minutes.
The Spanish 10th seed will now play Janko Tipsarevic in the next round.