The second-seeded Nadal polished off No. 5 seed Milos Raonic 6-4, 6-0 and continued his bid for an eighth title at Barcelona.
Nadal won 63 percent of his return points and broke serve three times. Nadal has reached the finals in five tournaments this year.
The fourth-seeded Almagro, who was runner-up at Houston this month, cruised past eighth-seeded Philipp Kohlschreiber of Germany 6-2, 6-1 in 51 minutes.
Saturday's play was delayed 4 hours by rain.