World number one Simona Halep fought back from a set down to beat Angelique Kerber 6-7 (2-7) 6-3 6-2 and move into the French Open semi-finals.
Two-time finalist Halep remained on course for her first Roland Garros title by beating the German 12th seed.
Halep, 28, will play 2016 champion Garbine Muguruza, of Spain, in the semi-finals on Thursday.
Muguruza moved into the final four with a convincing 6-2 6-1 victory over Russia's Maria Sharapova on Wednesday.
Sloane Stephens faces Madison Keys in a repeat of the 2017 US Open final in an all-American line-up in the other semi-final.
Kerber, 30, earned a double break in the first set but Halep recovered to 5-5 only for the pair to exchange a further break before Kerber won the tie-break.
The German lost her first set of the tournament in the second set after Halep broke her serve in the opening game, and the Romanian surged clear in the deciding set.
"It's always a tough match when I play against her. After the first set I just stayed strong and didn't give up," said Halep.
"I missed a lot in the beginning. I tried to do too much. I changed the tactics a bit and it worked."
Halep has won just one of the four matches she has played with Muguruza, but that was the only one played on clay.
Halep is hoping to reach her third French Open final, and knows her defensive skills will be tested to the full if Muguruza lives up to the standard she set in her quarter-final win over Sharapova.
The world number one ranking will be on the line, but that feels very secondary to the prize of a place in a Grand Slam final.
The other semi-final is between two Americans who are becoming familiar faces in the closing stages of a Grand Slam.
Keys says clay "grows on" her a little bit every year, while Stephens thinks they have both prospered by taking a more positive attitude to clay than some Americans have in recent years.