Milwaukee Bucks 128, Miami Heat 117 | Fiserv Forum | Tuesday, February 24, 2026
Kevin Porter Jr. dropped a season-high 32 points, Bobby Portis and Ryan Rollins each chipped in 21, and the Milwaukee Bucks ended Miami’s three-game winning streak with a gritty 128-117 win at Fiserv Forum. If you came here for the complete Miami Heat vs Milwaukee Bucks match player stats, you’re in the right spot — every number, every trend, every key moment is right below.
Table of contents
- Final Score and Quarter-by-Quarter Breakdown
- Milwaukee Bucks Individual Player Stats
- Miami Heat Individual Player Stats
- Head-to-Head Team Stats Comparison
- The Context: What Was on the Line
- How the Game Actually Went Down
- KPJ: The Performance of the Night
- Milwaukee’s Bench: The Real Story
- Miami’s Bright Spots in a Losing Effort
- Tyler Herro’s Rough Night
- The Turnover Battle and Its Impact
- Shooting Efficiency: Where Milwaukee Won It
- Doc Rivers: The Coaching Call That Nearly Cost Milwaukee
- Key Plays That Decided the Game
- Davion Mitchell’s Return
- Standings Impact
- Final Analysis: What This Game Tells Us
Final Score and Quarter-by-Quarter Breakdown
| Quarter | Miami Heat | Milwaukee Bucks |
|---|---|---|
| Q1 | 29 | 30 |
| Q2 | 29 | 33 |
| Q3 | 35 | 26 |
| Q4 | 24 | 39 |
| FINAL | 117 | 128 |
The story of this game lives in that fourth quarter. Miami held a 93-89 edge going into the final period. Then Milwaukee flipped a switch and outscored the Heat 39-24 in the decisive frame. That 15-point fourth quarter margin was the difference between a comeback win and just another close loss for a Bucks team that desperately needed this one.
Milwaukee Bucks Individual Player Stats
| Player | POS | MIN | PTS | REB | AST | STL | BLK | FG | 3PT | FT | +/- |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Kevin Porter Jr. | G | ~37 | 32 | 7 | 7 | — | — | 11-20 | 2-4 | 8-8 | — |
| Bobby Portis | F | ~28 | 21 | 2 | 1 | — | — | 8-14 | 5-10 | 0-0 | +18 |
| Ryan Rollins | G | 37 | 21 | 4 | 5 | 2 | — | 9-16 | 1-2 | 2-2 | +4 |
| Kyle Kuzma | F | ~32 | 19 | 4 | — | 1 | — | 7-16 | 3-7 | 2-4 | -6 |
| Ousmane Dieng | F | ~22 | 11 | 6 | 1 | 2 | — | 4-6 | 3-3 | 0-0 | +5 |
| Jericho Sims | C | ~24 | 8 | 10 | 5 | — | — | 4-4 | 0-0 | 0-0 | +15 |
| AJ Green | F | ~26 | 8 | 5 | 4 | 1 | — | 2-6 | 2-6 | 2-2 | +12 |
| Cam Thomas | G | ~21 | 6 | 3 | 2 | — | — | 2-10 | 0-4 | 2-3 | +1 |
| Myles Turner | C | ~18 | 2 | 5 | — | 2 | 1 | 1-5 | 0-3 | 0-0 | -4 |
| TEAM TOTAL | 128 | 46 | 25 | 10 | 3 | 48-97 | 16-39 | 16-19 | — |
Team FG%: 49.5% | 3PT%: 41.0% | FT%: 84.2% | Bench Points: 46
Miami Heat Individual Player Stats
| Player | POS | MIN | PTS | REB | AST | STL | BLK | FG | 3PT | FT | +/- |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Norman Powell | G | ~35 | 26 | 6 | — | 1 | — | 6-14 | 3-8 | 11-14 | -8 |
| Bam Adebayo | C | ~33 | 18 | 9 | 2 | 1 | 1 | 8-19 | 2-8 | 0-0 | -3 |
| Andrew Wiggins | F | ~32 | 16 | 8 | 5 | 1 | 3 | 5-12 | 4-8 | 2-4 | -4 |
| Tyler Herro | G | ~30 | 14 | 2 | 6 | — | 1 | 5-17 | 3-9 | 1-1 | -20 |
| Kel’el Ware | C | ~22 | 14 | 8 | — | — | — | 5-8 | 1-3 | 3-4 | -9 |
| Pelle Larsson | F | ~24 | 10 | 6 | 5 | — | — | 3-6 | 0-3 | 4-4 | -9 |
| Davion Mitchell | G | ~25 | 8 | — | 8 | 3 | — | 3-4 | 2-3 | 0-0 | -3 |
| Jaime Jaquez Jr. | G | ~22 | 9 | 2 | 3 | 1 | — | 4-9 | 1-3 | 0-0 | +2 |
| Kasparas Jakucionis | G | ~14 | 2 | 3 | 1 | — | — | 1-3 | 0-1 | 0-0 | -9 |
| Dru Smith | G | ~8 | 0 | — | 2 | 3 | — | 0-2 | 0-2 | 0-0 | -3 |
| Myron Gardner | F | ~5 | 0 | 1 | — | — | — | 0-0 | 0-0 | 0-0 | +5 |
| TEAM TOTAL | 117 | 51 | 32 | 8 | 5 | 40-94 | 16-48 | 21-27 | — |
Team FG%: 42.6% | 3PT%: 33.3% | FT%: 77.8% | Bench Points: 39
Head-to-Head Team Stats Comparison
| Stat Category | Miami Heat | Milwaukee Bucks |
|---|---|---|
| Points | 117 | 128 |
| FG Made-Att | 40-94 | 48-97 |
| FG% | 42.6% | 49.5% |
| 3PM-3PA | 16-48 | 16-39 |
| 3PT% | 33.3% | 41.0% |
| FT Made-Att | 21-27 | 16-19 |
| FT% | 77.8% | 84.2% |
| Total Rebounds | 51 | 46 |
| Offensive Rebounds | 14 | 10 |
| Assists | 32 | 25 |
| Steals | 8 | 10 |
| Blocks | 5 | 3 |
| Turnovers | 16 | 11 |
| Points Off Turnovers | 16 | 11 |
| Fast Break Points | 21 | 17 |
| Second Chance Points | 18 | 15 |
| Points in Paint | 42 | 44 |
| Bench Points | 39 | 46 |
| Biggest Lead | 9 | 12 |
| Effective FG% | 51.1% | 57.7% |
| True Shooting% | 55.3% | 60.7% |
The Context: What Was on the Line
Coming in, both teams had something real to play for. Miami walked into Fiserv Forum riding a three-game winning streak, sitting comfortably in the Southeast Division race. Milwaukee, without Giannis Antetokounmpo for the 12th straight game due to a right calf strain suffered on January 23, was in a desperate spot at 24-31, needing every win they could get.
The Bucks were 15-15 with Antetokounmpo on the floor and just 10-16 without him this season — a gap that tells the full story of how much they miss their franchise player. Milwaukee needed a win, and they got one the hard way.
On the Miami side, Nikola Jovic missed his second straight game with a back issue. He had traveled with the team to Milwaukee but returned to Miami on Tuesday for treatment. Still, the Heat had enough firepower to make this one a real fight.
For the most detailed breakdowns of NBA head-to-head matchups and player performance comparisons throughout the season, matchvsplayerstats.com tracks the numbers that go beyond the box score.
How the Game Actually Went Down
First Half: Milwaukee Builds a Cushion
Kuzma came out hot, scoring 13 of Milwaukee’s first points and setting the tone early. The Bucks held a slim 30-29 lead after one quarter. Through the second, Milwaukee stretched it out, leading 63-58 at halftime.
Miami had an answer for everything in the first half — Norman Powell was getting buckets, Bam was doing Bam things — but the Bucks kept finding ways to push back out front.
Third Quarter: Miami Fights Back
The Heat threw the first punch after halftime, going on a 7-0 run to retake the lead. Miami outscored Milwaukee 35-26 in the third quarter and held a 93-89 advantage heading into the fourth. The game was firmly up for grabs.
AJ Green and Myles Turner, both held scoreless in the first half, helped Milwaukee respond with an 8-2 run to put the Bucks back in front, but Miami managed to hold the edge through the quarter.
Fourth Quarter: KPJ Takes Over
This is where the game turned into a Kevin Porter Jr. highlight reel. Milwaukee’s biggest lead going into Q4 was just four, but Porter went into full takeover mode.
Rollins got going early and he and KPJ combined for 14 of the final 16 points for Milwaukee, with the Bucks’ defense holding Miami to just six points in the final six minutes of regulation.
The lead changed hands multiple times. Kel’el Ware drilled a 3-pointer early in the fourth to give Miami a nine-point lead — their biggest of the night. Then Milwaukee went on a tear: Portis hit a triple to cut it to 102-100, Dieng knocked down a three to flip the game to 103-102. Then came the moment that sealed it.
Porter sank a 3-pointer from the corner while drawing a foul, sinking the free throw to give Milwaukee a 118-116 lead. Back-to-back baskets by Rollins with just over one minute remaining sealed the victory.
Milwaukee won the fourth quarter 39-24. Game over.
KPJ: The Performance of the Night
Kevin Porter Jr. was genuinely electric in this one. His stat line — 32 points on 11-of-20 shooting, 7 rebounds, 7 assists, going a perfect 8-for-8 from the free throw line — was as efficient as a 37-minute performance gets.
The 2-for-4 from three-point range doesn’t jump off the page, but the two triples he did hit came at critical moments. That and-one corner triple in the fourth was the dagger.
He just went into total takeover mode in the fourth quarter. Also, having seven assists to just one turnover is the next step in his evolution.
Porter matched his season high with this output, and it came on a night when the Bucks needed him to be exactly this good.
Milwaukee’s Bench: The Real Story
46 bench points. That number jumps off the page when you look at what Milwaukee got from their second unit in this game.
Portis delivered one of his best nights, going 8-for-14 from the field including 5-for-10 from deep. Portis tied a season-high in three-point makes, and many came in timely situations.
Ousmane Dieng went 4-for-6 from the field, a perfect 3-for-3 from three-point range, and finished with 11 points. His 91.7 effective FG% was the best of any Bucks player. After going scoreless in his home debut against Toronto, Dieng had himself a solid day against Miami — he was much more assertive and aggressive.
Jericho Sims quietly put together a double-double off the bench: 8 points on a perfect 4-for-4 from the field, 10 rebounds, and 5 assists in 24 minutes. He was a presence inside when Milwaukee needed it most.
Miami’s Bright Spots in a Losing Effort
Norman Powell led Miami with 26 points, going 6-of-14 from the field and earning 11 trips to the free throw line — converting nine of them. But the turnover column next to his name (6) was a problem. Powell’s six giveaways directly contributed to Milwaukee’s advantage in points off turnovers.
Andrew Wiggins gave Miami one of the more well-rounded stat lines on the losing side: 16 points, 8 rebounds, 5 assists, 1 steal, and 3 blocks. His 4-for-8 night from three-point range kept Miami in the game through the first three quarters.
With Wiggins, Powell, and Tyler Herro all healthy, the Heat offense looks to be more formidable than it was earlier in the season. That potential was visible here even in a loss.
Bam Adebayo did the Bam thing — 18 points, 9 rebounds — but his 2-for-8 from three-point range (25%) dragged his true shooting percentage down to 47.4%, well below his usual standard.
Tyler Herro’s Rough Night
Herro finished with 14 points, but the numbers behind that total are rough. Five-of-17 from the field. Three-of-nine from three. A minus-20 plus/minus, the worst on either team by a significant margin.
He turned it over three times and Milwaukee converted five points off his turnovers. On a night when Miami needed their high-scoring guard to take over alongside Powell, Herro never found a consistent rhythm against Milwaukee’s defense.
The Turnover Battle and Its Impact
Miami committed 16 turnovers. Milwaukee committed 11.
That difference directly shaped the final score:
- Milwaukee scored 16 points off Miami’s 16 turnovers
- Miami scored only 11 points off Milwaukee’s 11 turnovers
Miami actually won the conversion rate on this one (1.0 pts per turnover vs Milwaukee’s 1.0), but the volume hurt. With 16 giveaways against a team that steals it at a high rate, the Heat effectively handed Milwaukee extra possessions throughout the game — and a team that shoots 49.5% from the field makes you pay.
Shooting Efficiency: Where Milwaukee Won It
The single biggest gap between these two teams on February 24? The three-point line.
| 3-Point Metric | Miami Heat | Milwaukee Bucks |
|---|---|---|
| 3PM | 16 | 16 |
| 3PA | 48 | 39 |
| 3PT% | 33.3% | 41.0% |
Both teams made exactly 16 threes. But Milwaukee needed nine fewer attempts to get there. That efficiency gap is massive. Miami launched 48 three-point attempts — one of the highest totals you’ll see in a single game — and still couldn’t keep pace because they were converting at just a 33.3% clip.
Milwaukee’s 41.0% from deep, combined with their 84.2% free throw shooting, gave them an overall true shooting percentage of 60.7% compared to Miami’s 55.3%.
Doc Rivers: The Coaching Call That Nearly Cost Milwaukee
Doc nearly cost the team the game in the fourth quarter. For some reason, he left in a lineup of Rollins, Thomas, Dieng, Sims, and Portis that was getting shredded by the Heat.
That lineup bled points and allowed Miami to build their nine-point advantage in the early fourth. It took the insertion of Porter Jr. back into the game to stabilize things. Once KPJ took control, Milwaukee didn’t look back.
Coaching decisions in close games matter enormously, and this was a case where Milwaukee survived a questionable stretch rotation. They won in spite of it, not because of it.
Key Plays That Decided the Game
The Turning Point: Kel’el Ware’s triple early in Q4 put Miami up nine — their biggest lead. That looked like a game-defining moment for the Heat. Then Milwaukee went on a 15-4 run.
The Sequence That Flipped It: Three consecutive long-range makes from Green, Portis, and Dieng in about a two-minute stretch. All three were real shots, not garbage-time drift-outs — contested, timely, and clutch.
The Dagger: Porter’s corner three-plus-foul in the final minutes, turning a two-point game into a four-point lead with the free throw. From that point, Miami never got closer than two.
Davion Mitchell’s Return
Mitchell came back after missing a game due to illness and looked like it mattered immediately. Eight points on 3-of-4 shooting, eight assists, three steals, and zero turnovers in his minutes — that’s a near-perfect efficiency line.
His assist-to-turnover ratio (8-to-0) was the best on either team among players who logged meaningful minutes. Miami needed him to be this good more of the game, but his return clearly helped stabilize the Heat’s offense in the first three quarters.
Standings Impact
After this result:
| Team | Record (as of Feb 24) | Division |
|---|---|---|
| Miami Heat | 31-28 | Southeast |
| Milwaukee Bucks | 25-31 | Central |
Miami remained firmly in playoff position despite the loss. The Heat’s Southeast Division race with Orlando was still tight. Milwaukee, despite sitting at 25-31, got a badly needed win and showed they can compete even without their best player.
The Bucks’ next test: the Cleveland Cavaliers at home. Miami headed to Philadelphia for a Thursday matchup with the 76ers.
Final Analysis: What This Game Tells Us
Three things stand out when you break down the complete Miami Heat vs Milwaukee Bucks match player stats from this game:
Milwaukee’s bench depth is real. When your second unit drops 46 points — with three different bench players putting up double digits — you can win games without your superstar. Portis, Rollins, and Dieng gave the Bucks exactly what they needed.
Miami’s turnover problem is a real vulnerability. Sixteen giveaways against a physical Milwaukee team is too many. The Heat won the rebounds battle, won the fast break points category, and even won the assists count — but the turnovers kept Milwaukee alive when Miami should have pulled away.
Kevin Porter Jr. is the Bucks’ best player right now. Giannis or no Giannis, Porter is playing at a level that makes Milwaukee competitive in any game. Thirty-two points, seven assists, one turnover, and a perfect eight-of-eight from the line — in a close fourth-quarter situation — is exactly what a No. 1 option needs to deliver.
The Bucks won this one the right way: with depth, efficiency, and a takeover performance when it mattered most. Miami will look at 16 turnovers and 33.3% three-point shooting and know exactly what needs to change heading into Thursday.
For complete, up-to-date player stat comparisons, head-to-head records, and in-depth box score analysis across every NBA matchup this season, visit matchvsplayerstats.com.
