Tomas Berdych booked his place in the last four of the ATP World Tour Finals at the expense of Novak Djokovic with a 3-6 7-5 6-1 win over David Ferrer.
The Czech battled back from a set down to end his opponent's perfect record in London this year - and send world number one Djokovic crashing out.
Ferrer looked on course to make it three wins from three when he took the first set, but his failure to finish the job means he will now have to play Roger Federer in the first semi-final on Saturday afternoon.
Berdych, in contrast, gets a longer break as a reward for topping the group, the seventh seed instead playing in the evening against Jo-Wilfried Tsonga.
"I'm extremely happy to go through," he said. "The feeling is just great. It was in my hands, it was up to me to try to qualify.
"I finally did it after such a tough one again. I love to stay on the court as long as possible and when it's with a good end it's great."
The seventh seed had appeared set to slip out of the tournament with a whimper, particularly when he lost his serve tamely in the eighth game of the first set.
The single break was all his opponent needed and when he moved ahead early in the second, the writing seemed to be on the wall. Even when Berdych got back on level terms, Ferrer responded by breaking again.
However, Berdych's decision to change his gameplan and come into the net - he had struggled in the opener when attempting to compete from the back of the court - eventually started to pay off.
Looking to stay in the set, Ferrer turned in his weakest service game of the night, a backhand error helping his opponent level matters at 1-1.
The deciding set then turned out to be a procession, Berdych reeling off 10 straight points at the start to grab an immediate break.
His ground strokes were getting stronger and stronger , leaving the fifth seed - now pretty in pink after a change of shirt - struggling to stay in the rallies.
A second break extended Berdych's lead to 4-0 and he went on to comfortably serve out for the victory, meaning his topsy-turvy week - he had wasted a match point against Djokovic before then saving one in his win over Janko Tipsarevic - will go on for a little longer.