Polish top seed Iga Swiatek had her 25-match winning streak on the Paris clay ended by China's Zheng Qinwen in the Olympics semi-finals.
Swiatek, 23, has won the past three French Opens at Roland Garros, but was beaten 6-2 7-5 by sixth seed Zheng at the same venue.
Losing there for the first time since 2021 was tough to take for the long-time world number one.
She was the overwhelming favourite to add Olympic gold to her five Grand Slam titles.
Swiatek was visibly upset when she tried to speak to broadcast journalists about an hour after the match and decided not to speak to their written counterparts - as she is entitled to do under Olympic rules.
Zheng, 21, lost in the Australian Open final earlier this year and now has a shot at earning the biggest title of her career.
The world number seven will play Croatian 13th seed Donna Vekic in Saturday's gold medal match after she beat Slovakia's Anna Karolina Schmiedlova 6-4 6-0.
Swiatek and Schmiedlova will contest bronze on Friday.
Alcaraz and Djokovic through to semis
In the men's singles, Spanish second seed Carlos Alcaraz continued his bid to become the youngest player to win the Olympic title.
The French Open and Wimbledon champion reached the semi-finals with a 6-3 7-6 (9-7) win over American ninth seed Tommy Paul.
Alcaraz, 21, will play 13th seed Felix Auger-Aliassime in the last four after the Canadian beat Norwegian sixth seed Casper Ruud 6-4 6-7 (8-10) 6-3.
On the other side of the draw, Serbia's Novak Djokovic beat Greek eighth seed Stefanos Tsitsipas 6-3 7-6 (7-3).
Top seed Djokovic, 37, has won almost everything there is to win - except the Olympic title.
The 24-time major winner faces a semi-final on Friday against Italy's Lorenzo Musetti - who he beat in the Wimbledon last four last month - after the 11th seed knocked out German third seed and defending Olympic champion Alexander Zverev 7-5 7-5.