Seven-time Grand Slam champion Venus Williams became the oldest semi-finalist in US Open history at the age of 37 on Tuesday by defeating two-time Wimbledon champion Petra Kvitova 6-3, 3-6, 7-6(2).

US ninth seed Williams, seeking her third US Open crown, advanced to a Thursday matchup for a spot in Saturday’s final against 83rd-ranked compatriot Sloane Stephens.

Stephens, who missed 11 months with a left foot injury before returning at Wimbledon, matched her best Grand Slam showing by outlasting Latvian 16th seed Anastasija Sevastova 6-3, 3-6, 7-6(4).

Williams, who improved to 2-4 all-time against the Czech 13th seed, will return to the world top five for the first time since January 2011 after dominating the tie-break.

“I’m so fortunate to have won that match. It came down to the wire,” Williams said. “I try to tell myself enjoy the competition, enjoy the battle and I think I was able to do that.”

Williams, the oldest Slam semi-finalist since Martina Navratilova at Wimbledon in 1994, won the 2000 and 2001 US crowns.

She was runner-up this year at Wimbledon and the Australian Open and could reach three Slam finals in a year for the first time since 2002.

Kvitova battled back from a five-month absence after a knife-wielding home intruder injured her left hand last December.

Williams swatted a backhand winner to break for a 5-3 edge and held to take the first set but Kvitova led 3-0 when rain forced a closure of the Arthur Ashe Stadium roof.

Kvitova fought off two break points in the fifth and seventh games to hold on the way to a third set, then broke to lead 2-1 only to double fault away a break to set up the tie-breaker.

If Americans Madison Keys and CoCo Vanderweghe win Wednesday, they will produce the first all-American US Open semi-finals since 1981.

“That would be huge,” Williams said. “I’d love that.”