World number one Rafael Nadal is out of the Monte Carlo Masters after a straight-sets quarter-final defeat by fellow Spaniard David Ferrer.
The eight-time champion capitulated in a first-set tie break before twice dropping his serve in the second to lose 7-6 (7-1) 6-4 to the sixth seed.
Roger Federer came from behind to defeat Jo-Wilfried Tsonga and will play Serb Novak Djokovic in the semi-finals.
Djokovic, last year's winner, beat Guillermo Garcia-Lopez 4-6 6-3 6-1.
Ferrer, 32, will play Australian Open champion Stanislas Wawrinka, who defeated 23-year-old Canadian Milos Raonic 7-6 6-2 in the last four.
The Spaniard, who lost to Nadal in last year's French Open final, had beaten his compatriot only once before on clay, and that was a decade ago.
He said: "I have had to wait 10 years to beat him on clay. It was a long wait but I am pleased with the win and the way I played."
Nadal, who made 44 unforced errors in the match, said: "When your opponent is doing things better than you, the normal thing is to lose. That's what happened today. I'm not happy with how I'm playing.
"All losses feel bad, but especially on clay. I'm not playing well."
Federer, seven times winner of the Wimbledon title, was two points from defeat at 6-5 down in the second set against Tsonga, but recovered to beat his French opponent 2-6 7-6 6-1.
After an error-strewn match in which he missed 15 consecutive break points, Federer said: "Many things went wrong at the wrong time for me: Jo playing well, me playing wrong at certain times, wrong shot selections. [But] I'm happy I found the way to tough it out.''