Venus Williams produced a stirring fightback against Kim Clijsters to set up a Wimbledon final against sister Serena for the second year in a row.
Williams shrugged off the stomach strain she had aggravated early in the match to snuff out the Belgian's challenge with a 4-6 6-3 6-1 victory.
"It was really tough out there and I couldn't calm myself down, I was worrying about my injury," said Williams after the match.
"Clijsters played so well but I just gritted my teeth and started fighting.
"I'm so happy to make it through and be the victor but I won't be talking about the final over dinner with Serena."
Williams got off to the worst possible start, losing her serve in the first game of the match on Centre Court.
Clijsters comfortably held to take a 2-0 lead before Williams recovered to hold on in her next service game.
But the fourth seed immediately called a medical time-out and then left the court, clearly troubled by a long-standing stomach injury.
Williams called for the trainer again in the fifth game and Clijsters, frustrated by the disruption to the flow of the match, handed the American the break back.
The second seed quickly composed herself, breaking back immediately, before rounding off the set 6-4 with a big serve.
After a rain delay, there were four consecutive breaks of serve in the second set before Williams broke Clijsters for the third consecutive time to go 5-3 up.
And Clijsters threw her racket to the floor in frustration as Williams served out to level the match.
Both players picked up the pace in the deciding set producing some fast and furious baseline rallies.
Williams got the first break to go 2-1 up and despite some good court coverage from Clijsters, the Belgian could not prevent her opponent from surging to a double break at 4-1.
Williams roared through the last two games with some strong and accurate groundstrokes to finish off the set 6-1 and move into her fourth Wimbledon final.