Ukraine's Elina Svitolina stunned world number one Iga Swiatek to reach the Wimbledon semi-finals on Tuesday, just three months after returning from maternity leave.
The world number 76 came through 7-5, 6-7 (5/7), 6-2 despite being a break down in both of the first two sets against the reigning US Open and French Open champion.
Svitolina, also a semi-finalist in 2019, will take on Marketa Vondrousova of the Czech Republic for a place in Saturday's championship match.
Svitolina has reached the last four by seeing off a quartet of Grand Slam title winners in Venus Williams, Sofia Kenin, Victoria Azarenka, in a stormy last-16 clash, and now Swiatek.
She said she intended to "enjoy the moment and have a beer".
"In my head, I don't know what's happening. It's an unbelievable moment.
"If you had told me before the tournament I would get to the semi-finals, I'd say you were crazy."
Svitolina, playing on a wild card, hailed Swiatek for her unwavering support of Ukraine following the Russian invasion of the country.
The Polish star organised a benefit exhibition match last year to raise funds for humanitarian causes in Ukraine.
A heavily pregnant Svitolina acted as chair umpire.
"Iga is a great champion and an unbelievable person," said Svitolina.
"She was one of the first to help Ukraine people. It's not easy to play against someone with whom you share great memories."
Swiatek broke in the first game of the match but the resolute Svitolina hit back to level in the fourth game.
Again the Pole nipped ahead with another break and held for 4-2.
However, Swiatek could not serve it out and a double fault allowed Svitolina to level at 5-5.
At 5-6 down, Swiatek sat courtside in the changeover, scribbling into a notepad but whatever self-help tips she penned, they did not work.
She was broken for the third time as Svitolina claimed the set when Swiatek pushed a backhand volley wide.
The Centre Court action was paused as the roof closed on the rain, a welcome respite for the top seed, who had shipped four consecutive games.
That became five when Svitolina served a love game in the second set opener.
Swiatek grabbed the first break of the set in the third game before the 28-year-old Svitolina cancelled it out for 3-3.
In a rollercoaster conclusion, the top seed survived trailing 1/4 in the tiebreaker to level the quarter-final and set-up the decider.
Svitolina gathered herself from letting that set slip away to race to a double break and a 5-1 lead in the decider.
Victory was hers when Swiatek netted a return, the last of the Pole's 41 unforced errors.