Serena Williams fought back to beat Timea Bacsinszky and reach the French Open final despite struggling with illness.

The top seed took 10 games in a row to win 4-6 6-3 6-0 and set up a final against Lucie Safarova on Saturday.

Williams, 33, has been unwell throughout the tournament and struggled as temperatures soared in Paris.

The American world number one is trying to win her third French Open and 20th Grand Slam singles title.

“I’m not sure how I did it,” Williams said on court afterwards. “I just thought I didn’t want to lose without a fight.”

Earlier on Court Philippe Chatrier, 13th seed Safarova fought back to beat Serbia’s Ana Ivanovic and become the first Czech woman to reach a Roland Garros final in 34 years.

Williams claimed her fourth victory in this tournament from a set down, something she has never managed before at a Grand Slam.

She looked down and out for the first set and a half against Bacsinszky, with the Swiss 23rd seed showing no nerves on her major semi-final debut.

Williams, meanwhile, wrapped herself in ice towels at the changeovers, shuffled slowly between points and looked close to breaking down at times.

Bacsinszky, 25, cracked a backhand return winner to go 3-2 up and served out the set, before moving a break up in the second after converting her sixth break point.