Alexander Zverev stunned world number one Novak Djokovic in straight sets to win the season-ending ATP Finals and earn the biggest victory of his career.
Djokovic, 31, was the heavy favourite to win a sixth finals title but was outclassed 6-4 6-3 by the German.
Zverev, the third seed, broke Djokovic for a 5-4 lead in the first set, then served three big aces to take the set.
The 21-year-old continued to dominate in the second and sealed a memorable victory as Djokovic faltered.
"I'm unbelievably happy. Obviously it is the biggest title I have ever won," said Zverev, who took home about £2m in prize money.
"How I played today, how I won it, for me it's just amazing."
He had lost to Djokovic in straight sets in the round-robin stage but, after beating Roger Federer in Saturday's semi-finals, produced a more confident performance to stop the Serb equalling Federer's haul of end-of-season titles.
Zverev missed his first championship point before hitting a sensational backhand down the line for victory, falling to the court in a mixture of disbelief and celebration as Djokovic jumped over the net to congratulate him.
"You definitely played much better than you did the group stage," Djokovic told him with a laugh. "You deserved to win."
Djokovic rattled by courageous Zverev
Zverev has long been heralded as the young player most likely to carry the mantle for the men's game once the likes of Djokovic, Federer, Rafael Nadal and Andy Murray have retired, with the 6ft 6in German's booming serve, crunching groundstrokes and improved play around the net showing he has all the facets needed to reach the very top.
Against Djokovic he also showed mental resilience and staying power in gruelling rallies to prove he is the real deal.
A high-quality first set remained on serve in the opening eight games, both players only managing to win three receiving points up to then, before a stray forehand from Djokovic - a rare unforced error this week - brought the first break point of the match in the following game.
Djokovic landed a deep first serve but when it came back over to his side of the court could only crack a forehand into the net.
For the first time in the tournament he had lost his serve, and for the first time he looked rattled.
The true test for Zverev was to keep his nerve and serve out for the first set, a question answered by the German firing down three aces before sealing the set as Djokovic went long with a backhand after a short rally.
Time for Zverev to shine at the Slams?
Zverev kept up the attack at the start of the second set, creating two break points in the opening game - one by outlasting Djokovic in a 26-shot rally - and taking the second opportunity.
Djokovic was somewhat gifted the break back as Zverev produced two double faults but any thought that might swing the momentum back to the Serb proved unfounded, Zverev breaking again to hold a lead which he would not relinquish.
Djokovic, who had won 35 of his previous 37 matches, suddenly lost the control he had shown all week and was unable to make Zverev serve out for victory as the German broke again to win in one hour and 19 minutes.
Zverev's next challenge is to show he can perform over the five-set format at the Grand Slams.
This year he reached his first Grand Slam quarter-final at the French Open and it looks only a matter of time - especially with eight-time major champion Ivan Lendl now in his corner - that he will go deeper into the biggest tournaments.
My game fell apart - Djokovic
Djokovic started the week as the hot favourite to win at the O2, following a remarkable resurgence which saw him win Wimbledon and the US Open on his way to regaining the number one ranking after being outside the top 20 in July.
Djokovic's relentless returning has been the hallmark of his game and before the final he stressed the importance of putting the ball back into play on Zverev's first serve.
Although he managed to do that regularly, Djokovic perhaps did not account for Zverev being able to stick with him in the long rallies.
For once Djokovic was unable to wear down his opponent and, coupled with his below-par service game, was unable to seriously threaten Zverev.
Djokovic appeared to wane mentally as the match slipped away from his grasp, although defeat here cannot take the shine off an extraordinary year.
"He had big serves. I wasn't returning well," Djokovic said. "I wasn't making him move too much. I was making way too many unforced errors.
"From 4-4 in the first set, my game fell apart. But if we put things in perspective it has been an amazing year and a great comeback."
A big step up for Zverev - analysis
BBC Sport tennis correspondent Russell Fuller
Zverev was so good in the first set - serving consistently at over 140mph - that Djokovic looked punch drunk in the second.
The world number one had played an almost perfect match against Kevin Anderson on Saturday, but after his serve was broken three times in a row, his belief drained.
Zverev has already won three Masters events, but this title is a step up. The next step is a Grand Slam: Ivan Lendl is now helping his dad with the coaching and, for the record, Roger Federer had not won a Grand Slam at the age Zverev is now.
There should be a lot to look forward to in 2019. Djokovic has dominated the second half of the season, but the only three players to have beaten him since the beginning of Wimbledon are no more than 22 years old.
'Surpass Djokovic? Let's chill out a bit'
Djokovic believes Zverev's win could have deeper significance for the men's game, with the world number one saying he "deserves everything he gets".
"There's a lot of similarities in terms of trajectory of professional tennis in our careers," added Djokovic. "Hopefully he can surpass me. I mean, I sincerely wish him that."
But Zverev played down catching the 14-time major champion, who has won 72 career titles - five of those coming at the ATP Finals.
"I hope I can do great. But just chill out a little bit," said the German.
"I mean, I've won one of those. He won five. He's won, I don't know what, 148 titles more than me. Let's not go there for now."
And Zverev talked up the presence of the only other players to have beaten Djokovic since the start of this year's Wimbledon - 22-year-old Russian Karen Khachanov and Greece's Stefanos Tsitsipas, 20.
"Us young guys, we're coming through. Khachanov winning the Masters in Paris was a big thing. I was very happy for him. I wasn't happy that he beat me, but I was happy for the victory that he had because I'm quite good friends with him," he said.
"The victory for Tsitsipas in Toronto, I felt like Novak wasn't playing his best there, but obviously all the credit to Tsitsipas. You have to beat someone like Novak because he's not going to give you the match.
"It's great, but the future, we still got multiple and multiple years for all of us ahead. A lot of things can happen. A lot of things can change. I'll do everything I can to be on top. But the other guys are playing great tennis as well."
Game, set and stats…
- Zverev is the first player to beat both Djokovic and Federer in the same ATP Finals
- He is also the first to beat the top two seeds in the semi-finals and final of the event since Andre Agassi in 1990
- Zverev, aged 21 years and six months, is the youngest champion at the ATP Finals since Djokovic in 2008
- Zverev is the first German winner since Boris Becker in 1995
|Recent ATP finals|
|2017: Grigor Dimitrov beat David Goffin|
|2016: Andy Murray beat Novak Djokovic|
|2015: Novak Djokovic beat Roger Federer|
|2014: Novak Djokovic beat Roger Federer|
|2013: Novak Djokovic beat Rafael Nadal|
|2012: Novak Djokovic beat Roger Federer|
Doubles victory for Bryan & Sock
Mike Bryan and Jack Sock won the doubles title in thrilling fashion, coming from a set down to beat French pair Pierre-Hugues Herbert and Nicolas Mahut 5-7 6-1 13-11.
Bryan, 40, only paired up with Sock in June because brother Bob, with whom he has won 16 Grand Slam titles and Olympic gold, is currently recovering from a hip injury.