Garbine Muguruza flashed some impressive form ahead of her French Open title defence with a 6-2 3-6 6-2 win over Venus Williams to reach the semi-finals of the Italian Open in Rome.
The Spanish third seed, who reached the Rome semi-finals last year before going on to win her sole career grand slam, will next face eighth seeded Ukrainian Elina Svitolina, who earlier upset Czech second seed Karolina Pliskova 6-2 7-6(9).
Muguruza used a solid forehand to power through the first set during which she hit just eight unforced errors but gave up 20 in the second as Williams forced a decider.
The Spaniard fell behind in the third set before responding immediately with a break. She clinched the match when seven-times grand slam champion Williams sent a forehand wide.
With the win, world number seven Muguruza will return to the top five in the rankings and be guaranteed a top-four seeding at Roland Garros for the year's second grand slam.
In other action, Romanian sixth seed Simona Halep swept into the semi-finals by beating Estonian qualifier Anett Kontaveit 6-2 6-4 on Friday.
Simona Halep of Romania celebrates winning against Anett Kontaveit of Estonia during the WTA Tennis Open tournament in Rome at the Foro Italico, on May 19, 2017.
Image credit: Getty Images
She will now play Dutch 15th seed Kiki Bertens, who saw off Australian qualifier Daria Gavrilova 6-3 6-3, in Saturday's semi-final on the red Foro Italico clay.
"Today was a good match, but I can say that I could finish earlier in the second set," said Halep, who raced to a 3-0 lead in the first set and broke Kontaveit in the opening game of the second before winning.
"But she turned it a little bit around ... she came back for a few games, and she played really, really well."
Results from the Italian Open women's quarter-finals