Angelique Kerber has reached her third Wimbledon semi-final after battling to victory over Daria Kasatkina.
Kerber, the highest-ranked player left in the tournament, needed seven match points to see off the tenacious 21-year-old 6-3 7-5.
The inventive Russian youngster had Kerber scurrying and scrambling during some compelling rallies, not least during a nerve-shredding final game, but ultimately a vulnerable serve let her down.
Seeded 11th, Kerber seems to be approaching something close to her 2016 peak, when she won her two grand slam titles and reached the final at Wimbledon.
The 30-year-old slipped out of the world's top 20 after a miserable 2017, but she has rediscovered her game and in the end was just too canny for Kasatkina.
The moment @AngeliqueKerber went one step closer to a first #Wimbledon title... pic.twitter.com/9PFcNj8mpt
— Wimbledon (@Wimbledon) July 10, 2018
Having pushed Kerber to three deuces in her opening service game, two double faults from Kasatkina promptly gifted the German a break and a 3-0 lead.
Kasatkina saved two break points at 4-1, the second with an emphatic airborne backhand winner, and forced two of her own in the next, winning a ferocious rally with a flashing forehand to bring them back on serve.
However, another double fault, met with groans around Centre Court, handed another break to Kerber who served out for the opening set and then broke early in the second.
Kasatkina is known as a slow starter, but once she gets into her stride she is a real threat as well as a genuine crowd-pleaser.
She broke back for 3-3 amid a flurry of punishing ground strokes, double-faulted on her way to dropping the seventh game, and then took Kerber's serve again with a stunning disguised drop shot.
Breaks were exchanged again, Kerber going down to 15 as she served for the match for the first time.
The Kerber of 12 months ago would have surely crumbled, but this year's version broke once again - aided by a seventh Kasatkina double fault - and then won a marathon final game to set up a last-four showdown with 12th seed Jelena Ostapenko.