Former world number one Maria Sharapova reached the Italian Open semi-finals after fighting back to beat reigning French Open champion Jelena Ostapenko.
Sharapova, 31, won 6-7 (6-8) 6-4 7-5 against the 20-year-old Latvian, taking her third match point to end a gripping contest which lasted over three hours.
She faces Simona Halep in Saturday’s semi-final after the world number one thrashed Caroline Garcia 6-2 6-3.
Elina Svitolina will play Anett Kontaveit in the other last-four match.
Ukraine’s Svitolina won 6-4 6-4 against Germany’s two-time Grand Slam champion Angelique Kerber, while Kontaveit of Estonia knocked out Danish second seed Caroline Wozniacki 6-3 6-1.
Halep, yet to win a Grand Slam having lost three finals, needed only an hour and 14 minutes to seal her fourth win in five matches against seventh seed Garcia of France.
Her victory, combined with Wozniacki’s defeat, ensured the 26-year-old Romanian, who lost to Svitolina in last year’s Italian final, would retain her number one ranking.
Sharapova missed two match points against the dogged Ostapenko, who is ranked sixth in the world, before sealing a victory which means the Russian is set to be seeded at the French Open later this month.
The five-time Slam winner, who is projected to be inside the world’s top 32 next week, has not been seeded at a major since returning from a 15-month doping ban last year.
“It’s great to back at this stage,” she said after beating Ostapenko.
“My fans have been so loyal throughout the years and for me to be able to produce this kind of tennis again in front of them is very special.”