Serena Williams came from behind to beat Tsvetana Pironkova  4-6 6-3 6-2 to reach the US Open semifinal.

The 38-year-old kept alive her hopes of a record-equalling 24th Grand Slam despite struggling from Pironkova’s variety of shots in the early stages.

The unranked Bulgarian player who played her first tournament in three years, broke in the fifth game.

But Williams took the second and broke twice in the third.

Williams said she could not afford another sluggish start if she is to reach her fifth Grand Slam final in three years.

“I was feeling it a little in my legs and an hour in, for some reason, I got more energy. I can’t do that if I want to keep winning,” said the American, who last won the US Open in 2014.

“I play again on Thursday. I am used to playing back to back to back, but I need to figure out how to start a little bit faster.

“I keep fighting, I never give up. You’ve got to keep going.”

Williams will now face either former world number one Victoria Azarenka or Belgian 16th seed Elise Mertens in the semifinals.