Giannis Antetokounmpo's late dunk makes history, helps Bucks avoid loss to Hornets
The two-time NBA MVP now has the most 30/10/5 games in league history.
MILWAUKEE — Two days after the Milwaukee Bucks dropped a game that coach Doc Rivers said his team “deserved to lose,” it seemed as if another setback was on the horizon Friday at Fiserv Forum.
Then Giannis Antetokounmpo had his say.
The two-time NBA MVP converted an alley-oop from Kevin Porter Jr. with only a few seconds remaining. That slam was the deciding bucket in the Bucks’ 122-121 win against the Charlotte Hornets.
KPJ TO GIANNIS! pic.twitter.com/FnVZO4XdTp
— Milwaukee Bucks (@Bucks) January 3, 2026
Antetokounmpo didn’t just execute the play and score the game-winning basket, though. The Bucks’ superstar forward also had a hand in drawing up the play in the Bucks’ huddle during the timeout with 8.8 seconds remaining.
“Doc was drawing something up, and Giannis had a feeling they were switching a lot, so he gave us that play, basically, and we executed it,” said Porter, who had 10 points and 10 assists.
Bucks HC Giannis Antetokounmpo designed the game-winning play 👀 pic.twitter.com/Y7J0yyeXLc
— Underdog (@Underdog) January 3, 2026
As the Bucks prepared for the final play, Antetokounmpo’s mind flashed back to the Bucks’ second meeting against the Hornets this season Nov. 14. Milwaukee ended up taking that game in overtime, but Antetokounmpo had the ball in his hands with the score tied at the end of regulation and missed the shot.
“I’ve been in this situation before — I think, like, a month and a half ago,” Antetokounmpo said after the game. “When I was (at) the elbow, playing ISO for the game against Miles Bridges, and I shot a shot. And then, when I shot it, I looked on my left; there was a guy in the corner, and I thought to myself, ‘Why didn’t I go (dribble handoff) and just let the play develop?’ Long story short, that game we won in overtime.”
https://static01.nyt.com/athletic/uploads/wp/2026/01/03013317/dhntzk_1.mp4
Believing he would see a similar coverage to that end-of-game situation from November, Antetokounmpo laid out the situation to Porter and let the Bucks’ 25-year-old point guard make the play.
“I knew I’m going to get the ball at the elbow, and I know that it’s just going to be a single side, me and (Porter),” Antetokounmpo said. “I know (Porter) loves to go left. So, I told him before the play, I said, ‘Hey, you can just go down, come right back and get the ball and just throw it to the rim. I’ll be wide open.’ And he just did what I told him, and I was wide open.”
Porter had a poor shooting night, making just four of his 14 shot attempts, but he said it meant a lot to him that Antetokounmpo and Rivers trusted him to be a threat and make the right decision in a big moment.
“Great pace,” Porter said. “It was just a two-man (action), and I was just reading Miles. If he came up, I was gonna throw the lob. If he didn’t, then I was going to try to finish myself. He came up, and Giannis got behind him. You know what to do after that. Just toss it up and Giannis finish the play off, which he did.”
After a brutal first quarter that allowed the Hornets to build a 14-point lead, the Bucks (15-20) were forced to play from behind for most of the game and outscored the Hornets 35-30 in the fourth quarter to earn the win in the back-and-forth affair.
Antetokounmpo, who returned last week from a calf injury that sidelined him for eight games, led the Bucks with 30 points and 10 rebounds. He also added five assists and, with his game-sealing 2 points, now has the most games (158) with at least 30 points, 10 rebounds and five assists in NBA history, passing Kareem Abdul-Jabbar and Oscar Robertson.
Giannis now has the most 30/10/5 games in NBA history! pic.twitter.com/sz7fmXF5Ae
— Milwaukee Bucks (@Bucks) January 3, 2026
Ryan Rollins knocked down a single-game career-high six 3-pointers on his way to 29 points for Milwaukee.
Hornets forward Brandon Miller missed a layup that would’ve given the Hornets (11-23) the win. He finished with 19 points.
Rookie Kon Knueppel once again put on a show in his hometown, with his parents watching at courtside, leading Charlotte with 26 points. Last week, Knueppel became the fastest player in NBA history to reach 100 career 3s. In November, Knueppel posted a then-career-high 32 points in an overtime loss to the Bucks.
Milwaukee begins a four-game trip Sunday at the Sacramento Kings.