OG Anunoby came up with a CLUTCH offensive rebound and was fouled with 29 seconds left, making both free throws to put the Knicks ahead 126-125, then came up with a CLUTCH steal off Jalen Johnson and was fouled with 7 seconds left, making both free throws to put the Knicks up 128-125.
Knick defense did the rest — forcing a Nickeil Alexander-Walker miss from 3 with 4 seconds left — and OG Anunoby pulled down the rebound for a 128-125 Knick win on a Saturday night in Atlanta.
NY looked like they would win the game easy early on, building a 13-pt halftime lead and leading by 18 in the 3rd quarter.
NY was led by:
- Karl-Anthony Towns, who had 26 pts on 8-15 shooting (3-6 from 3 and 17-18 from the free throw line),
- Jalen Brunson, who had 34 pts on 15-29 shooting (4-11 from 3, zero free throws), and
- An amazing game off the bench by Kevin McCullar Jr., who filled in for an injured Josh Hart and played like Josh Hart — with hustle plays and rebounds. McCullar had 13 pts on 4-7 shooting (3-6 from 3) with 8 rebounds. 2 assists, and 2 steals.
But Atlanta steadily climbed back in the game on the shooting of Onyeka Okongwu, who scored 31 pts on 10-16 shooting (6-10 from 3) and Alexander-Walker, who had 25 pts on 8-18 shooting (5-12 from 3).
Mikal Bridges and Tyler Kolek did a tremendous job guarding Trae Young, limiting him to 9 pts on 2-9 shooting (0-4 from 3).
“It was a total team effort,” said McCullers afterwards. “It’s a blessing to be out here playing the game that I love. Just staying ready when my number is called; came up with the W.”
NY improves to 22-9, and is 2 games back of Detroit in the East. Atlanta falls to 15-18.
1. NY Jumps In Front as KAT Powers Inside
With Josh Hart out nursing a sprained ankle, the Knicks started Mohamed Diawara, the athletic 6’9 rookie and 2nd round pick NY acquired the day after the draft from the Clippers for their 2nd-round pick, 6’8 Kobe Sanders.
Midway through the period Diawara was subbed for Kevin McCullar Jr. who started to effect the game with his hustle plays. The Knicks acquired McCullar the day after the draft in 2024 where he was selected in the 2nd round (#56 overall) by Phoenix — trading 6’11 Oso Ighodaro, their 2nd round pick (#40 overall) to Phoenix for the 6’6 McCullar and a 2028 2nd round draft pick. McCullar may have gone higher in the draft had he not sat out the end of the 2024 college season and the entire NCAA playoffs with what was described as a chronic, lingering bone bruise in his left knee.
Meanwhile Karl-Anthony Towns was getting anything he wanted powering to the hoop against the small Atlanta front line. Atlanta had the 2024 #1 overall pick, 6’9 Frenchy Zaccharie Risacher, guarding him at center.
KAT got buckets inside and out, and was often fouled going to the hoop — resulting in a 17-18 performance from the free throw line for the night.
Jalen Brunson joined in, and hit a 3 just before the quarter ended to give NY a 33-27 lead.
TOWNS & BRUNSON SHINE IN THE KNICKS’ WIN 🤩
KAT: 36 PTS | 15 REB | 3 3PM
Brunson: 34 PTS | 5 AST | 4 3PMNYK is 9-2 in their last 11! pic.twitter.com/OfULzrAcEo
— NBA (@NBA) December 28, 2025
2. McCullers Ignites Knicks Off the Bench
The 2nd quarter was more of the same, with the Knicks playing free and easy, and KAT getting anything he wanted.
KARL-ANTHONY TOWNS WHAT A DIME 👀
FINDS A CUTTING BRIDGES FOR THE DUNK!
Watch here: https://t.co/5AC4pKaz88 pic.twitter.com/kHYL8hsGTV
— NBA (@NBA) December 28, 2025
And then Kevin McCullers Jr. re-entered the game with 7:19 left in the 2nd quarter, with NY up 46-39, and put NY into overdrive with Josh Hart-like hustle plays, rebounds, assists, drives, and 3’s from the corner.
kevin from cornerrrrrrrrr 💦 pic.twitter.com/PXjW3wX5VV
— NEW YORK KNICKS (@nyknicks) December 28, 2025
As usual, NBA Analyst Ross Kreines sussed out McCullar’s play years ago: “Tweeted below on Kevin McCullar Jr.before the draft in 2024,” noted Kreines. “Kevin plays and moves with a purpose, does the little things that won’t show in the box score but result in winning, brings his hardhat, good motor, rebounds, defends hard, has an improved jumper as stated below and brings it.”
3. Knicks Increase 13-Pt Halftime Lead to 18 Pts in 3rd
The start of the 3rd quarter was more of the same — as Diawara hit a 3, Brunson hit a 3, and KAT kept getting free throws powering inside. NY increased its lead to 18 pts at 85-67 off KAT free throws with 6:55 left in the 3rd quarter.
4. Alexander-Walker 3’s Start to Bring Atlanta Back
But Jalen Johnson hit a drive and Nickeil Alexander-Walker hit back-to-back 3’s, and Atlanta started to chip away at the Knick lead.
Within 3 minutes they were back within 7 points after a Jalen Johnson jumper and Vit Krejci 3.
5. McCullars Pushes Back
Kevin McCullar Jr. continued his Josh Hart play, trying to stave off the Atlanta rally — a drive, a steal, a big defensive rebound — as Alan Hahn said on the broadcast that Josh Hart has to be smiling watching what McCullar is doing.
And then a minute later the broadcast posted that indeed Josh Hart was happy and enjoying McCullar’s play, with Alan Hahn stating indeed Josh Hart was out there smiling.
YEA KEV!
— Josh Hart (@joshhart) December 28, 2025
And then a few minutes later, MSG broadcast posted this:
I’m not smiling Alan
— Josh Hart (@joshhart) December 28, 2025
6. KAT Continues Dominate; NY by 10 with 8 Min Left
KAT continued to go to the basket and get to the line early in the 4th, as NY maintained a 10-pt lead with 9 minutes left after 4 KAT free throws and back-to-back 3’s early in the period made it 112-102 NY with 7:56 left.
7. Atlanta Pulls Ahead with 2 Minutes Left
Mitchell Robinson entered the game for Towns with 7:41 left, and Atlanta sliced the Knick lead on an Okongwu drive, and a layup and a 3 by Alexander-Walker, and Trae Young free throws to make it 114-113 NY with 4:25 left.
Towns came back in with 4:50 left, but NY oddly didn’t go to him much in the final 5 minutes — instead Brunson took over the offense.
And Brunson was hot — hitting a 15 footer, a drive, and a Huge 3 with 1:17 left to give NY a 124-121 lead.
But Trae Young hit free throws, and Nickeil Alexander-Walker stole the ball from Brunson and scored on a layup with 49 seconds left to give Atlanta the lead at 125-124.
8. OG Comes Up Huge at the End
And that is when OG stepped up big. Jalen Brunson Missed a 16-foot step-back, but OG got the offensive rebound and was fouled — hitting both free throws for a Knick lead with 29 seconds left.
Atlanta inbounded and Mikal Bridges slapped the ball out of bounds — so Atlanta inbounded again with 15 seconds left.
And that is when OG came up Big again, stealing the ball from Jalen Johnson and fast-breaking it down the other end where he was fouled and hit 2 free throws for a 3-pt Knick lead.
CLUTCH CLAMPS FROM OG
VOTE OG FOR ALL-STAR ‼️ https://t.co/HWjDFYAJeh pic.twitter.com/4HV55KrFME
— NEW YORK KNICKS (@nyknicks) December 28, 2025
Atlanta inbounded for a chance to tie with 7 seconds left — and the Knick defense — especially Mitchell Robinson — forced an Alexander-Walker miss from 3, with OG grabbing the rebound for the ballgame.
KNICKS GET THE STOP AND SECURE THE WIN!
THEY MOVE TO 22-9 AND 9-2 IN THEIR LAST 11 👀 pic.twitter.com/9RQ9rGGkNO
— NBA (@NBA) December 28, 2025

Be the first to comment