Germany's Alexander Zverev clinched the last spot in the ATP Finals semi-finals by beating John Isner, a result which ensured world number one Novak Djokovic finished top of their group.
Zverev nicked a first-set tie-break before breaking at the end of the second to win 7-6 (7-5) 6-3 in London.
Third seed Zverev will play Roger Federer in the semi-finals on Saturday.
Djokovic, who beat Marin Cilic 7-6 (9-7) 6-2 later on Friday, will play South Africa's Kevin Anderson.
The 14-time Grand Slam champion is the heavy favourite to win the tournament after easing through the round-robin stage with three victories from his three matches.
In the doubles, Pierre-Hugues Herbert and Nicolas Mahut won their group by beating Mike Bryan and Jack Sock 6-2 6-2 in 53 minutes.
Bryan and Sock finished second and will face Britain's Jamie Murray and Bruno Soares in the semi-finals.
|Afternoon session - 14:00 GMT - live on BBC Two|
|Roger Federer (Swi) v Alexander Zverev (Ger)|
|Evening session - 20:00 GMT - online radio commentary|
|Novak Djokovic (Ser) v Kevin Anderson (SA)|
- Schedule, BBC coverage, standings & results
- Federer beats Anderson to top group
- Live scores, today's schedule and results
Djokovic provides another statement of intent
Djokovic was identified as the man to beat at the O2 following his remarkable rise back to the world number one ranking, with dominant performances against Isner and Zverev sending further warning signs to the rest of the field.
While he was made to work much harder by Cilic in the first set, the Serb produced another impeccable performance to maintain his record of not dropping a set this week.
Even though his passage to the semi-finals was already guaranteed as the group winner, Djokovic refused to let his intensity drop and strangled Cilic with a near-perfect service game.
The Wimbledon and US Open champion only dropped five points on serve in the match and won 100% of the points when he landed his first serve.
Croat Cilic only managed to win two receiving points in the first set, unable to puncture his opponent's impenetrable serve once again at set point in the tie-breaker and paying the price when he buckled under pressure with a forehand into the net four points later.
Djokovic missed three break points in a lengthy opening game of the second set, then saw his 31-point winning streak on serve ended in the third game.
That only served to sharpen Djokovic's focus, however, as he broke in the next game and again for a 5-2 lead before serving out to win in one hour and 36 minutes.
"Obviously I knew before the match that I had already qualified, and I knew who I'm playing, so it wasn't easy to approach this match with 100% willingness to win it," said Djokovic.
"But this is a unique format and both of us wanted to win from the first point. It was a close first set which probably decided the match."
Zverev's time to arrive on the big stage?
With the 'big four' of Federer, Djokovic, Rafael Nadal and Andy Murray all in their 30s, Zverev has long been identified as the young player most likely to fill the void when they retire.
The 21-year-old is yet to make a meaningful impact in the Grand Slams but, after adding eight-time major champion Ivan Lendl to his team, has reached the last four at the O2 for the first time.
Now, with Federer and possibly Djokovic standing in his way, back-to-back victories over the weekend would announce his arrival to a wider audience.
After showing mental resilience to edge past Cilic in his opening match, Zverev knew any victory against Isner would guarantee his place in the last four, despite being outclassed by Djokovic in his second.
As with the Cilic match, he delivered on the big points against the American to win a match in which there was little between the two players.
Isner out-served and knocked out
Zverev delivered an 143mph ace to wipe out a set point at 6-5 - the only break point of the first set - and went on to earn a hold which took the opener into a tie-break and ultimately proved pivotal.
Isner knew he had to win to stay in the tournament, with a two-set victory his only hope of reaching the semi-finals, but mistimed a forehand into the net on Zverev's second set point.
The 6ft 10in American's game is unsurprisingly built around his massive serve but he was outgunned by Zverev, who had a faster serve speed, higher first-serve percentage and more aces.
And, after Zverev took his first break point at 4-4 in the second, victory was quickly wrapped up with a hold to love and allowed him to start thinking about facing Federer.
"I'm unbelievably happy to be in the semi-finals," Zverev said. "I've had such a good run over the last year.
"John was such a tough opponent and the last two matches could have gone either way for him. The first set was unbelievably tight. It's always one or two points against him.
"I came up with some great shots in the tie-break as well and that helped because don't want to be down with him serving for the set."