Albert Ramos-Vinolas scored his second straight upset at the Monte Carlo Masters as the 15th seed beat tournament number five Marin Cilic 6-2, 6-7 (5/7), 6-2 on Friday.
After dumping out world number one Andy Murray in the third round the day before, the diminutive Spaniard returned to knock-out mode as he tamed Cilic to surge into the first Masters 1000 semi-final of his career.
He will Saturday face Frenchman Lucas Pouille who came from behind in the final set to overhaul Pablo Cuevas 6-0, 3-6, 7-5 in two hours; the Uruguayan lost serve seven times.
"I know Pouille, he's a young player coming very strong. It will be super difficult," Ramos-Vinolas said.
The Spanish surprise winner remains perplexed at the source of his top form.
"To be honest, I think I'm playing good. I'm competing very good. But I cannot tell you exactly what's happening," the 29-year-old said.
"I played good tournaments in South America in February on clay. Here I'm playing really good, competing all the points. I cannot really tell you what is happening."
Cilic led their series 3-1 going in, but the Croatian fell victim to a few dozen forehand errors as his big game never truly gained traction in the battle over two and a half hours on the Monte Carlo clay.
In later quarter-finals at the Roland Garros warm-up event second seed Novak Djokovic faces Belgian David Goffin, while Rafael Nadal continues his bid for a record 10th title at the tournament, playing Argentine Diego Schwartzman.