Petra Kvitova has reached the final of the Madrid Open with a stunning triumph over Serena Williams.
The left-hander had lost her previous five meetings with the world number one, but she never looked in trouble as she eased to a 6-2 6-3 win.
Williams entered the match having not suffered defeat since the start of the season, but she soon found Kvitova in inspired form as the Czech broke serve three times to race to the opening set.
It got worse for the world number one after she immediately dropped serve at the beginning of the second, and although she got on the board in the set, Kvitova struck again to move to within touching distance of a surprise win.
Williams mounted a fightback to get back to 5-3 but in the next game, Kvitova broke serve for the sixth time in the contest to seal an impressive victory.
The 25-year-old will now play Svetlana Kuznetsova, who continued her fine run in the tournament by overcoming Maria Sharapova.