Fourth-seeded Czech Petra Kvitova has ended American tennis great Serena Williams' stunning 27-match winning streak with a straight sets victory in the semi-finals of the Madrid Open.
Kvitova beat Williams 6-2 6-3 and now awaits Svetlana Kuznetsova in the final, after the unseeded Russian veteran shocked defending champion and compatriot Maria Sharapova 6-2 6-4.
Williams was in positive mood after the defeat in her first tournament of the year on clay, which is not her favourite surface.
She was a long way below her best against Kvitova but the 33-year-old is building up towards the French Open at the end of this month and she feels she is on course.
"I'm just exhausted today. This has been a rough week for me," Williams told a news conference. "It's all part of the clay though. It's good to be really exhausted now going into another tournament and then getting ready for Roland Garros.
"So this is all great preparation that I actually really, really needed something to push me to the wall and to the limit."
On the men's side of the draw, Andy Murray beat Canada's Milos Raonic 6-4 7-5 and the Scot remains on course to face Rafael Nadal in the final.
Nadal is seeking a third straight title after sweeping past Bulgarian Grigor Dimitrov 6-3 6-4, and the Spanish third seed plays the Czech Tomas Berdych, who beat John Isner 3-6 7-6 7-6.
Murray plays Kei Nishikori for a place in the Madrid final, after the Japanese fourth seed beat Spanish seventh seed David Ferrer 6-4 6-2.