Former Rome champion Karolina Pliskova rallied from a set down and saved three match points to advance to the semi-finals of the Italian Open on Friday.
Pliskova, winner in 2019 and runner-up last year, battled past Latvia's Jelena Ostapenko 4-6, 7-5, 7-6 (7/1).
The ninth-seeded Czech will meet Croatia's Petra Martic for a place in the final.
Martic, ranked 25, ended the run of American Jessica Pegula 7-5, 6-4.
Pegula had dispatched number two seed Naomi Osaka of Japan on her way to her fourth quarter-final this season.
"Just proud, I think mostly, how I fought," said Pliskova, who saved three match points at 5-4 in the final set before storming back to victory after two hours and 20 minutes.
"It was definitely a horrible start for me. I'm just happy that I stayed in there and fought till the end."
It was the second clay-court win for Pliskova over Ostapenko, having come from a set down against the Latvian in Stuttgart last month.
Each player broke serve seven times, but Ostapenko paid heavily for 14 more unforced errors than her Czech rival.