Images from the French Open women's semi-final matches played at Roland Garros on Thursday
Sloane Stephens maintained her perfect record against fellow American Madison Keys as she blazed into the French Open final with a 6-4, 6-4 win on Thursday in a repeat of last year's US Open final.
In the first all-American Roland Garros semi-final since 2002, the 10th-seeded Stephens stayed composed throughout as Keys, who has not won a set against her in three meetings, peppered the court with unforced errors.
Stephens, who had never gone past the fourth round in Paris, will take on twice French Open runner-up and world number one Simona Halep of Romania in Saturday's final.
Regardless of the result, the 25-year-old Stephens will become the first American to break into the top five in the WTA rankings since Lindsay Davenport - Keys's coach - in 2006.
"It's always hard to play someone from your country and such a good friend, but I'm happy I played my tennis," Stephens said.
"This is one of my favourite tournaments and I'm looking forward to Saturday. Merci Paris, je t'aime."
After a timid start, Stephens found her rhythm and took control of the opening set by breaking in the third game with a forehand winner down the line.
But Keys, who made 23 unforced errors in the first set, hit back hard and set up a break point at 3-2, only for Stephens to save it with a service return winner.
Stephens continued to dominate and broke in the first and seventh games of the second set to put herself in a position to serve for the match.
Keys briefly rallied to pull one break back, but Stephens did not waste her second opportunity, sealing victory on her first match point with a glorious backhand winner down the line.
Top seed Simona Halep reached her third French Open final when she stopped hard-hitting Spaniard Garbine Muguruza in her tracks with a 6-1 6-4 semi-final victory on Thursday.
Now the 26-year-old Romanian will bid to go a step further than she has ever gone before by beating American Sloane Stephens in Saturday's title match.
Muguruza, the 2016 champion, set about attacking Halep from the off but whereas all her previous opponents this fortnight has withered under the onslaught, battle-hardened Halep barely took a backward step.
Hurling everything Muguruza fired her way back across the net with equal venom Halep made a lightning start and was 5-0 up despite her opponent not playing badly herself.
The tall Muguruza had not dropped a set before facing Halep and thrashed two Grand Slam champions in Sam Stosur and Maria Sharapova for the loss of five games en route to the last four.
The 2016 French champion and reigning Wimbledon champion ratcheted up the intensity in the second set and broke in the third game when a powerful return forced an error.
Halep weathered the storm and broke back for 4-4 before winning a marathon ninth game in which she saved three break points to pile the pressure on the third seed.
Halep seized her chance, moving 0-40 ahead and then raising her arms in triumph as Muguruza blazed a backhand long -- her 31st unforced error of the match.
"I knew that I have to be aggressive like her. I knew that she's gonna start the match with a lot of power," Halep, one of the best tacticians on the circuit, told reporters.
"I was strong on the legs. Also I pushed her back. I feel like I played so well opening the court.
"It was a very good level, the whole match, even if the first set was 6-1. She didn't give up a point. So it was very nice to play like that."
Muguruza said Halep's fast start had been the key.
"She started playing very well immediately, and I wasn't able to reach the level that she was playing," she said. "She went high very fast.
"In the first set, it was just lightning."
Halep now has the chance to finally win the Grand Slam title she has toiled so long for.
She was beaten by Sharapova in three sets in the 2014 final here and last year had victory in sights, only to lose tearfully to Latvian firebrand Jelena Ostapenko.
Earlier this year she lost to Caroline Wozniacki in a sweat-box Australian Open final.
"We will see what is going to happen Saturday, but for sure I will fight for every ball," Halep said.
Of that, no one is in any doubt.