Japan's Kei Nishikori recovered after losing the second set to keep his Barcelona Open title defence intact with a 6-2 3-6 6-1 quarter-final win over Spaniard Roberto Bautista Agut.
The world number five will face Martin Klizan next after the Slovak beat Spaniard Tommy Robredo 7-6 (7-5) 6-4.
Spain's David Ferrer showed his clay-court nous as he beat Germany's Philipp Kohlschreiber 6-3 7-6 (7-5).
Italian Fabio Fognini lost his quarter-final 6-1 6-3 to Spain's Pablo Andujar.
It was an underwhelming performance from the Italian, who beat Rafael Nadal in straight sets on Thursday and is ranked 32 places higher in the world than Andujar.