All three were tight, three-set defeats, none more painful than her slow fade against the inexperienced Ostapenko in Paris a year ago, where she led, 6-4, 3-0, with a point to go up, 4-0, before Ostapenko rallied to take the trophy instead.
The Spanish third seed thrashed Sharapova 6-2, 6-1 in the quarter-finals, condemning the Russian to her worst Grand Slam defeat in more than six years.
Slowly the normally aggressive baseliner clawed her way back into the contest, winning three straight games as both players struggled to hold serve in a marathon opening set.
Halep has now defeated Muguruza in both their meetings on clay.
Now she has another chance to break her duck when she takes on American 10th seed Sloane Stephens in the final at Roland Garros.
See Michael Myers Make Grisly Return in First Trailer for 'Halloween' Sequel
It features Jamie Lee Curtis in the key role of Laurie Strode; a part she last played in 2002's Halloween: Resurrection . Check out the new trailer below and watch Halloween when it hits theaters on October 19.
Stephens, who defeated Keys to win the US Open previous year, will face top-ranked Simona Halep of Romania in the final on Saturday. She said: "I have more experience now". Of course it's the final of grand slam, so it can not be easy.
"The stop yesterday helps, because it was in a tough moment of my match", Nadal said.
And now she says it, " said 1978 French Open champion Virginia Ruzici, who is Halep's manager and the only woman from Romania to collect a major title. I like her chances to win her second Major on Saturday.
On Thursday, it was more of the same as the 25-year-old capitalised on her friend's big match nerves.
Stephens broke Keys to begin the second set and once again established a 3-1 lead. "She loves clay. She loves Roland Garros".
But ultimately she paid the price of 41 unforced errors as Stephens served out the match at the second time of asking, sealing victory with a backhand down the line.
She also failed to win a single service game in the opener.
Men's semifinals: No. 1 Rafael Nadal beat No. 5 Juan Martin del Potro 6-4, 6-1, 6-2.
Halep is aware she can not afford another poor start on Thursday against 24-year-old Muguruza who has been tested just once in Paris and that was in the first round where fellow former victor Svetlana Kuznetsova pushed her to a tiebreak in the first set. However, this is usually the point in grand slams where Halep falls apart, so it's going to be interesting if the Romanian can finally close the deal on the big stage and put herself in elite company. "Not me, obviously. I don't feel pressure", she said on Friday. She's suffocating her opponents with such deep shots and bullying her way across the court. "For sure I will fight for every ball".