Paris - Simona Halep set up a French Open final against Jelena Ostapenko on Thursday, taking her to within touching distance of a first Grand Slam title and the world number one spot.
Romanian third seed Halep, the runner-up to Maria Sharapova in 2014, claimed a 6-4, 3-6, 6-3 win over Karolina Pliskova, the second-seeded Czech.
Unseeded Ostapenko downed Timea Bacsinszky 7-6 (7/4), 3-6, 6-3 on her 20th birthday to become the first Latvian finalist at a major.
The eventual champion on Saturday will be a first-time major winner while victory for Halep would crown her as the new world number one, replacing Angelique Kerber.
"It's an amazing feeling right now," said 25-year-old Halep after her fifth win in six meetings against Pliskova, the world number three.
"It was extremely tough today as Karolina is a very tough opponent.
"To be in the final again is great. I hope to win this time.
"But I am facing a young opponent, it will be a big challenge."
Pliskova ended the tie with 45 winners and a staggering 55 unforced errors.
In contrast, Halep registered 14 in both columns.
For Halep, the win came just a day after she saved a match point and came from a set and 1-5 to beat Elina Svitolina in the last eight.
Pliskova, the 25-year-old Czech, would have taken the world top spot if she had made her second Slam final.
In the end, she could at least reflect on progress in Paris -- before this year, she had never got beyond the second round in five attempts.
Ostapenko presented herself with the perfect 20th birthday gift by reaching a first French Open final after blasting past 30th seed Bacsinszky, a semi-finalist also in 2015.
"I'm really happy to be in the final, especially on my birthday. I think it's a nice gift," said Ostapenko, whose win was greeted by the crowd singing 'happy birthday'.
The world number 47 is the first unseeded player to reach the final in Paris since Mima Jausovec in 1983.
Ostapenko is also the youngest woman to advance to the final of a major since a 19-year-old Caroline Wozniacki finished runner-up at the 2009 US Open.
"I was always playing aggressive and hitting the ball when I have a chance," said Ostapenko, who smacked 50 winners to Bacsinszky's 22.
"It was a really tough match. I think it was a battle.
"I think it was kind of important that I won the first set, even the second I lost, but in the third set I found my game again.
"I felt a little bit tight because...I was very close to making the final and some thoughts were in my mind," added Ostapenko, whose previous best run at a Slam was reaching the third round at the Australian Open.
"But then I was just trying to be calm and just to try to play my game and just enjoy every moment."
For Bacsinszky it was a second semi-final defeat in Paris.
"Of course I'm disappointed. I'm a competitor, and it really annoys me not to be in the final," said Bacsinszky, who was beaten on her 28th birthday.
"I'm not ashamed to say that she played better. She was braver. She had more courage. She was more successful."
Ostapenko fell in the first round on her main draw debut in Paris last year but is one win away from becoming the first player since Gustavo Kuerten in 1997 to win their maiden tour-level title at a Slam.
Ostapenko fired 50 winners and 45 unforced errors in her victory.
She has 245 winners from six rounds - more than Andy Murray's 174 after five matches.
French Open results on Thursday, the 12th day of the 2017 tournament at Roland Garros (x denotes seeding):
Jelena Ostapenko (LAT) bt Timea Bacsinszky (SUI x30) 7-6 (7/4), 3-6, 6-3
Simona Halep (ROM x3) bt Karolna Plskov (CZE x2) 6-4, 3-6, 6-3
Gabriela Dabrowski/Rohan Bopanna (CAN/IND x7) bt Anna-Lena Groenefeld/Robert Farah (GER/COL) 2-6, 6-2, 12-10