Slovenian Tamara Zidansek reached her maiden Grand Slam semi-final with a hard-fought victory over Spain's Paula Badosa at the French Open.
World number 85 Zidansek, who had never previously been beyond the second round of a major, won 7-5 4-6 8-6.
She prevailed in a tense third set, saving three break points to lead 7-6 before breaking Badosa to seal the win.
Zidansek will play Russia's Anastasia Pavlyuchenkova or Kazakh Elena Rybakina for a spot in Saturday's final.
The women's draw has been thrown wide open after seven of the top 10 players departed in the first week.
Of Zidansek's possible opponents, Pavlyuchenkova reached her first French Open quarter-final for a decade by beating 15th seed Victoria Azarenka on Sunday, while world number 22 Rybakina is the highest ranked player in this half of the draw after beating Serena Williams.
With both players making their first quarter-final appearance at Roland Garros, Serbia Open winner Badosa made the more confident start as she established a 3-0 lead with an early double break.
But Zidansek, 23, battled back impressively with a three-game streak of her own and began to find her rhythm as she edged in front for the first time in the match at 5-4.
The Slovenian once again applied the pressure with a delightful drop shot to lead 6-5 and, though Badosa saved a first set point with an emphatic forehand, Zidansek tied up an engrossing 53-minute first set at the next opportunity.
Badosa, 23, initially struggled with the pace offered by her opponent and a superior Zidansek moved 3-1 ahead in the second set - yet the momentum swung dramatically once more as the Spaniard broke Zidansek in three successive service games on her way to levelling the match.
World number 35 Badosa continued her fightback as she consolidated a break of serve to lead 2-0, however in keeping with the topsy-turvy nature of the contest Zidansek ended her slump and claimed a second break point to draw level.
With a first French Open semi-final on the line, the errors began to creep in, but both players ground out crucial holds and Zidansek saved three break points to move 7-6 ahead before taking her second match point in the next game.