Reigning champion Novak Djokovic was dumped out of the Madrid Open by Janko Tipsarevic on Friday (local time), while Roger Federer eased into the semi-finals.
Tipsarevic produced a superb display against Serbian compatriot Djokovic, recording a 7-6 (7-2) 6-3 quarter-final win.
World No.1 Djokovic failed to convert any of the seven break-point chances he had on Tipsarevic's serve and committed 20 unforced errors to slump to his fourth loss of the season.
Tipsarevic will meet Federer for a place in the final of the ATP Masters event after defeating Spaniard David Ferrer 6-4 6-4.
Federer, who has only lost one service game all week in the Spanish capital, did not face a single break point en route to his 13th consecutive win over Ferrer, who is yet to beat the Swiss great.
Also through to the last four is the in-form Juan Martin del Potro, a 6-3 6-4 winner over Alexandr Dolgopolov of Ukraine.
Del Potro, fresh from his successful defence of the Estoril Open in Portugal last week, hit 10 aces and won 60 percent of his service points to move to a 10-0 record on clay this season.
The towering Argentine moves on to a semi-final meeting with Tomas Berdych after the top-ranked Czech defeated Fernando Verdasco 6-1 6-2.
Berdych needed just 67 minutes to dispose of the Spaniard, losing just nine points on serve and hitting four aces.