London - Alexander Zverev beat Roger Federer 7-5, 7-6 (7/5) on Saturday to reach the title decider at the ATP Finals in a match that ended in confusion and high drama.
The 21-year-old German, leading the charge of the new generation against the old guard, is now just one win away from the biggest title of his career but the Swiss must wait for a tilt at his 100th tournament victory.
The end of the match was overshadowed by an unusual incident, Zverev stopping a rally with Federer leading 4-3 in the second-set tie-break after a ballboy dropped a ball, forcing the point to be replayed.
Zverev won the point with an ace and nudged into a 5-4 lead before Federer inexplicably netted with a simple forehand volley to hand the German two set points, the second of which he took on his own serve.
Immediately after the match finished there were boos from the pro-Federer crowd at London's O2 Arena and on-court interviewer Annabel Croft told them to be "more respectful" as Zverev had been playing by the rules.
"First of all I want to apologise for the situation in the tie-break," said the German. "The ball boy dropped the ball and it is the rules we have to stop the point.
"I'm unbelievably proud," added the world number five. "My team and me have been working so hard for this.
"I'm a little bit upset now about how it all ended, I didn't want it to end that way, but hopefully I'll have many more great matches here."
Serve dominated the first set of a high-class match, with neither player able to make serious inroads, Zverev sending down howitzers around the 225km/h mark.
Six-time champion Federer, 37, and third seed Zverev both showed a willingness to get to the net in a match featuring power and guile.
The Swiss veteran eventually faltered in the 12th game of the opening set, watching helplessly as Zverev zipped a magnificent passing shot past him down the line on his way to breaking to love.
The second seed regrouped and drew first blood in the second set, breaking in the third game with a thunderous backhand down the line that drew enormous cheers from the partisan crowd.
But the frustrated 20-time Grand Slam winner could not consolidate his position, losing the next game as Zverev levelled at 2-2.
Federer's level slipped as his young opponent stayed focused but he clung on to take the set to a tie-break.
The tie-break went with serve until the 10th point, when Federer netted to hand Zverev a mini-break -- an advantage he did not squander.
Zverev, who already has three Masters series titles under his belt in his short career, is the youngest finalist at the event since Juan Martin del Potro in 2009.
In Saturday's later match, world number one Djokovic takes on South Africa's Kevin Anderson in a repeat of the Wimbledon final for the right to face the German in Sunday's final.
The Serbian top seed has stormed up the rankings in the second half of the year and is just two wins away from pulling level with Federer's record number of titles at the season finale.
Results on the seventh day of the ATP Finals at London's O2 Arena on Saturday (x denotes seeding):
Alexander Zverev (GER x3) bt Roger Federer (SUI x2) 7-5, 7-6 (7/5)
Novak Djokovic (SRB x1) v Kevin Anderson (RSA x4)
Mike Bryan/Jack Sock (USA x5) bt Jamie Murray/Bruno Soares (GBR/BRA x4) 6-3, 4-6, 10-4
Pierre-Hugues Herbert/Nicolas Mahut (FRA/FRA x8) v Juan Sebastian Cabal/Robert Farah (COL/COL x2)