Serena Williams passed her toughest test so far at the US Open to beat Karolina Pliskova and reach the semi-finals for a ninth consecutive time.
Williams, seeded 17th, trailed 4-2 in the first set but hit back to win 6-4 6-3 against the Czech eighth seed.
The American, 36, is seeking her first Grand Slam trophy since giving birth to daughter Olympia last September.
If she wins it would be her 24th major title – equalling Australian Margaret Court’s all-time record.
“The crowd was really rooting for me and I felt so bad because everyone out here was cheering and I wasn’t winning so I thought I had to try harder,” said Williams.
“I really feel like right now I’m playing free. I was having a baby this time last year so I have nothing to prove.”
Williams faces Latvia’s 19th seed Anastasija Sevastova, who knocked out defending champion Sloane Stephens earlier on Tuesday, in the last four on Thursday.
Crowd helps Serena turn match around
Williams is only playing her eighth tournament since becoming a mum, but had only dropped one set – in her last-16 match against Latvia’s Kaia Kanepi – on her way to the last eight.
The six-time US champion won eight games in a row – four at the end of the first and four at the start of the second – to help her secure victory in one hour 26 minutes.
It was her first win over a top-10 ranked player since beating Britain’s Johanna Konta at the 2017 Australian Open.
Pliskova left to rue missed chances
Williams suffered a chastening defeat by Pliskova, who had a brief spell as world number one last year, when they last met each other in the 2016 US Open semi-finals.
And it looked like she could face more trouble when 26-year-old Pliskova threatened to go a double break up in the first set.
Williams responded with some huge serving to see off four break points, averting danger for a 5-2 lead and allowing her to wrap up victory in her next service game.