Robson beat the Spaniard 6-4 2-6 6-3 to consolidate her big win over Roberta Vinci in the previous round.
The 18-year-old world number 113 will now face Barbora Zahlavova Strycova in the last four after the Czech defeated Germany's Julia Goerges 7-6 6-7 6-1.
The other semi-final will see home competitor Sara Errani take on Romania's Irina Begu.
Errani coasted 6-2 6-2 past another Romanian, Alexandra Cadantu, while Begu defeated Spain's Estrella Cabeza 5-7 6-4 6-4.
