Loading Game Flow & shots…
Loading Game Lab analysis…
Possession ExplorerEvery possession rebuilt from play-by-play, with filters by quarter, team and result.
Loading Possession Explorer…
Matchup identity and score load first. Deeper analysis follows.
Loading
Loading Game Lab…
Sun, Nov 23, 2025·2025-26
| Team | Q1 | Q2 | Q3 | Q4 | T |
|---|---|---|---|---|---|
| 30 | 26 | 24 | 22 | 102 | |
| 25 | 24 | 37 | 25 | 111 |
Loading Game Flow & shots…
Loading Game Lab analysis…
Loading Possession Explorer…
Solid bars mark a clear box score edge. Edges describe the game and don't establish cause.
Against season averages
Each metric compares home vs away totals (or rates). A difference counts only when |delta| meets the metric tolerance. Overall edge is a plurality of meaningful advantages, not an opaque game score.
SA
PHX
Extra chances are offensive rebounds plus the other side's turnovers.
Extra chances by quarter
Second-chance points are scored after an offensive rebound, before the other team gets the ball. Points off turnovers are scored on the possession after the other team turns it over. Team rebounds move the ball but don't count as rebounds. Counts come from play-by-play and can differ slightly from the official box score.
The top player on each side in every quarter.
Ranked by NBA efficiency: points, rebounds, assists, steals and blocks, minus missed shots, missed free throws and turnovers. Counts come from play-by-play and can differ slightly from the official box score.
Who led and by how much. Hover or drag across the chart to see each scoring play.
Largest leadSA +11 Q2 6:48PHX +13 Q4 7:27
Every field goal attempt, filling in as the game goes. Switch to Game chart to add steals, blocks, turnovers, fouls and rebounds, and filter by quarter or player. SA attacks the left basket and PHX the right.
Filled dots are makes, rings are misses. Tap a dot to pin it, or a team to isolate its shots.
| Zone | SA | PHX | ||
|---|---|---|---|---|
| — | — | — | — | |
| — | — | — | — | |
| — | — | — | — | |
| — | — | — | — | |
| — | — | — | — | |
Zones use located attempts only. Tap a zone to show just those shots. Counts come from play-by-play and can differ slightly from the official box score, for example on heaves or stat corrections made after the game.
Injured or inactive players are marked OUT.
| SA | MIN | PTS | REB | AST | STL | BLK | TOV | FG | 3P | FT | +/- | TS% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 33.0 | 26 | 5 | 3 | 0 | 0 | 2 | 5-11 | 2-6 | 14-16 | -2 | 72.1% | |
| 33.0 | 17 | 4 | 2 | 1 | 2 | 3 | 5-13 | 3-7 | 4-4 | -10 | 57.6% | |
| 28.0 | 8 | 6 | 3 | 0 | 2 | 2 | 3-3 | 0-0 | 2-2 | 7 | 103.1% | |
| 35.0 | 11 | 3 | 3 | 1 | 0 | 1 | 5-11 | 0-2 | 1-2 | 1 | 46.3% | |
| 30.0 | 10 | 12 | 1 | 1 | 0 | 1 | 3-14 | 2-9 | 2-3 | 3 | 32.6% | |
| 25.0 | 14 | 6 | 2 | 0 | 0 | 3 | 6-8 | 2-3 | 0-0 | -6 | 87.5% | |
| 21.0 | 7 | 5 | 1 | 0 | 0 | 1 | 3-5 | 0-1 | 1-2 | -17 | 59.5% | |
| 8.0 | 5 | 3 | 0 | 0 | 0 | 0 | 2-5 | 1-3 | 0-0 | 1 | 50.0% | |
| 14.0 | 4 | 4 | 1 | 0 | 0 | 4 | 0-3 | 0-2 | 4-5 | -12 | 38.5% | |
| 13.0 | 0 | 2 | 1 | 1 | 0 | 2 | 0-4 | 0-1 | 0-0 | -10 | 0.0% | |
| — | — | — | — | — | — | — | — | — | — | — | — | |
| — | — | — | — | — | — | — | — | — | — | — | — | |
| — | — | — | — | — | — | — | — | — | — | — | — | |
| — | — | — | — | — | — | — | — | — | — | — | — |
| PHX | MIN | PTS | REB | AST | STL | BLK | TOV | FG | 3P | FT | +/- | TS% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 38.0 | 24 | 5 | 7 | 1 | 2 | 2 | 7-18 | 2-6 | 8-11 | 6 | 52.5% | |
| 29.0 | 14 | 11 | 2 | 1 | 1 | 0 | 6-8 | 0-0 | 2-3 | 2 | 75.1% | |
| 33.0 | 15 | 10 | 3 | 2 | 0 | 0 | 7-15 | 1-5 | 0-0 | 11 | 50.0% | |
| 35.0 | 25 | 3 | 2 | 1 | 0 | 2 | 10-24 | 4-12 | 1-2 | 8 | 50.2% | |
| 34.0 | 9 | 5 | 1 | 1 | 0 | 1 | 3-8 | 3-5 | 0-0 | 13 | 56.3% | |
| 30.0 | 15 | 3 | 6 | 1 | 0 | 0 | 6-13 | 3-7 | 0-0 | -1 | 57.7% | |
| 19.0 | 5 | 1 | 1 | 3 | 1 | 0 | 2-5 | 1-3 | 0-0 | 3 | 50.0% | |
| 18.0 | 2 | 3 | 5 | 0 | 2 | 1 | 1-2 | 0-0 | 0-0 | 7 | 50.0% | |
| 5.0 | 2 | 2 | 0 | 0 | 0 | 0 | 1-4 | 0-0 | 0-0 | -4 | 25.0% | |
| — | — | — | — | — | — | — | — | — | — | — | — | |
| — | — | — | — | — | — | — | — | — | — | — | — | |
| — | — | — | — | — | — | — | — | — | — | — | — | |
| — | — | — | — | — | — | — | — | — | — | — | — |
489 events
| Q | Clock | Team | Play | SA | PHX |
|---|---|---|---|---|---|
| Q1 | 12:00 | PHX | Luke Kornet vs. Mark Williams (Royce O'Neale gains possession) | 0 | 0 |
| Q1 | 11:41 | PHX | Dillon Brooks misses 28-foot three point jumper | 0 | 0 |
| Q1 | 11:37 | PHX | Jordan Goodwin offensive rebound | 0 | 0 |
| Q1 | 11:36 | PHX | Jordan Goodwin makes two point shot | 0 | 2 |
| Q1 | 11:24 | SA | Luke Kornet makes 4-foot hook shot (Harrison Barnes assists) | 2 | 2 |
| Q1 | 11:09 | PHX | Dillon Brooks misses 12-foot two point shot | 2 | 2 |
| Q1 | 11:07 | SA | De'Aaron Fox defensive rebound | 2 | 2 |
| Q1 | 10:54 | SA | Harrison Barnes misses 6-foot two point shot | 2 | 2 |
| Q1 | 10:50 | PHX | Royce O'Neale defensive rebound | 2 | 2 |
| Q1 | 10:42 | PHX | Devin Booker misses 13-foot pullup jump shot | 2 | 2 |
| Q1 | 10:39 | SA | Luke Kornet defensive rebound | 2 | 2 |
| Q1 | 10:25 | SA | Devin Vassell misses 28-foot three point jumper | 2 | 2 |
| Q1 | 10:23 | PHX | Royce O'Neale defensive rebound | 2 | 2 |
| Q1 | 10:07 | PHX | Devin Booker makes 19-foot pullup jump shot (Mark Williams assists) | 2 | 4 |
| Q1 | 9:50 | PHX | Dillon Brooks shooting foul | 2 | 4 |
| Q1 | 9:50 | SA | De'Aaron Fox makes free throw 1 of 2 | 3 | 4 |
| Q1 | 9:50 | SA | De'Aaron Fox makes free throw 2 of 2 | 4 | 4 |
| Q1 | 9:28 | PHX | Royce O'Neale misses driving floating jump shot | 4 | 4 |
| Q1 | 9:23 | PHX | Dillon Brooks offensive rebound | 4 | 4 |
| Q1 | 9:23 | PHX | Dillon Brooks makes tip shot | 4 | 6 |
| Q1 | 9:09 | SA | Devin Booker blocks Harrison Barnes 's 3-foot pullup jump shot | 4 | 6 |
| Q1 | 9:07 | SA | Harrison Barnes offensive rebound | 4 | 6 |
| Q1 | 9:06 | SA | Harrison Barnes makes two point shot | 6 | 6 |
| Q1 | 9:01 | SA | Luke Kornet shooting foul | 6 | 6 |
| Q1 | 9:01 | PHX | Mark Williams makes free throw 1 of 2 | 6 | 7 |
| Q1 | 9:01 | PHX | Mark Williams makes free throw 2 of 2 | 6 | 8 |
| Q1 | 8:53 | SA | De'Aaron Fox out of bounds bad pass turnover | 6 | 8 |
| Q1 | 8:45 | SA | Luke Kornet shooting foul | 6 | 8 |
| Q1 | 8:45 | PHX | Devin Booker makes free throw 1 of 2 | 6 | 9 |
| Q1 | 8:45 | PHX | Devin Booker makes free throw 2 of 2 | 6 | 10 |
| Q1 | 8:35 | PHX | Devin Booker personal foul | 6 | 10 |
| Q1 | 8:30 | PHX | Jordan Goodwin shooting foul | 6 | 10 |
| Q1 | 8:30 | SA | Luke Kornet makes free throw 1 of 2 | 7 | 10 |
| Q1 | 8:30 | PHX | Isaiah Livers enters the game for Royce O'Neale | 7 | 10 |
| Q1 | 8:30 | PHX | Collin Gillespie enters the game for Jordan Goodwin | 7 | 10 |
| Q1 | 8:30 | SA | Luke Kornet makes free throw 2 of 2 | 8 | 10 |
| Q1 | 8:15 | PHX | Devin Booker misses 24-foot three point pullup jump shot | 8 | 10 |
| Q1 | 8:10 | SA | Julian Champagnie defensive rebound | 8 | 10 |
| Q1 | 8:05 | SA | De'Aaron Fox makes 26-foot running pullup jump shot | 11 | 10 |
| Q1 | 7:47 | PHX | Dillon Brooks misses 9-foot two point shot | 11 | 10 |
| Q1 | 7:45 | SA | Luke Kornet defensive rebound | 11 | 10 |
| Q1 | 7:33 | PHX | Collin Gillespie shooting foul | 11 | 10 |
| Q1 | 7:33 | SA | Harrison Barnes misses free throw 1 of 2 | 11 | 10 |
| Q1 | 7:33 | SA | Spurs offensive team rebound | 11 | 10 |
| Q1 | 7:33 | SA | Kelly Olynyk enters the game for De'Aaron Fox | 11 | 10 |
| Q1 | 7:33 | SA | Jeremy Sochan enters the game for Luke Kornet | 11 | 10 |
| Q1 | 7:33 | SA | Harrison Barnes makes free throw 2 of 2 | 12 | 10 |
| Q1 | 7:14 | PHX | Dillon Brooks misses 23-foot three point jumper | 12 | 10 |
| Q1 | 7:10 | SA | Devin Vassell defensive rebound | 12 | 10 |
| Q1 | 7:06 | SA | Devin Vassell misses two point shot | 12 | 10 |
| Q1 | 7:03 | PHX | Devin Booker defensive rebound | 12 | 10 |
| Q1 | 6:59 | PHX | Collin Gillespie misses running pullup jump shot | 12 | 10 |
| Q1 | 6:57 | SA | Julian Champagnie defensive rebound | 12 | 10 |
| Q1 | 6:51 | SA | Devin Vassell offensive charge | 12 | 10 |
| Q1 | 6:51 | SA | Devin Vassell turnover | 12 | 10 |
| Q1 | 6:51 | PHX | Suns Full timeout | 12 | 10 |
| Q1 | 6:51 | SA | Keldon Johnson enters the game for Julian Champagnie | 12 | 10 |
| Q1 | 6:38 | PHX | Dillon Brooks misses 24-foot three point jumper | 12 | 10 |
| Q1 | 6:36 | PHX | Mark Williams offensive rebound | 12 | 10 |
| Q1 | 6:33 | PHX | Collin Gillespie misses 28-foot three point jumper | 12 | 10 |
| Q1 | 6:29 | SA | Kelly Olynyk defensive rebound | 12 | 10 |
| Q1 | 6:16 | SA | Kelly Olynyk bad pass (Dillon Brooks steals) | 12 | 10 |
| Q1 | 6:13 | PHX | Mark Williams misses dunk | 12 | 10 |
| Q1 | 6:08 | SA | Harrison Barnes defensive rebound | 12 | 10 |
| Q1 | 6:00 | SA | Harrison Barnes makes driving layup | 14 | 10 |
| Q1 | 5:43 | PHX | Dillon Brooks misses driving layup | 14 | 10 |
| Q1 | 5:41 | PHX | Mark Williams offensive rebound | 14 | 10 |
| Q1 | 5:37 | PHX | Dillon Brooks misses 24-foot three point jumper | 14 | 10 |
| Q1 | 5:34 | SA | Devin Vassell defensive rebound | 14 | 10 |
| Q1 | 5:25 | SA | Jeremy Sochan makes 1-foot hook shot (Devin Vassell assists) | 16 | 10 |
| Q1 | 5:14 | PHX | Oso Ighodaro enters the game for Mark Williams | 16 | 10 |
| Q1 | 5:14 | SA | David Jones Garcia enters the game for Harrison Barnes | 16 | 10 |
| Q1 | 5:01 | PHX | Dillon Brooks makes 13-foot two point shot | 16 | 12 |
| Q1 | 4:54 | PHX | Dillon Brooks personal foul | 16 | 12 |
| Q1 | 4:54 | SA | Kelly Olynyk makes free throw 1 of 2 | 17 | 12 |
| Q1 | 4:54 | SA | Kelly Olynyk misses free throw 2 of 2 | 17 | 12 |
| Q1 | 4:52 | PHX | Oso Ighodaro defensive rebound | 17 | 12 |
| Q1 | 4:48 | SA | Keldon Johnson shooting foul | 17 | 12 |
| Q1 | 4:48 | PHX | Dillon Brooks misses free throw 1 of 2 | 17 | 12 |
| Q1 | 4:48 | PHX | Suns offensive team rebound | 17 | 12 |
| Q1 | 4:48 | PHX | Dillon Brooks makes free throw 2 of 2 | 17 | 13 |
| Q1 | 4:33 | SA | Devin Vassell makes 22-foot pullup jump shot | 19 | 13 |
| Q1 | 4:22 | PHX | Devin Booker misses 27-foot three point pullup jump shot | 19 | 13 |
| Q1 | 4:20 | SA | Spurs defensive team rebound | 19 | 13 |
| Q1 | 4:20 | PHX | Isaiah Livers loose ball foul | 19 | 13 |
| Q1 | 4:20 | SA | Kelly Olynyk makes free throw 1 of 2 | 20 | 13 |
| Q1 | 4:20 | SA | Kelly Olynyk makes free throw 2 of 2 | 21 | 13 |
| Q1 | 4:04 | PHX | Isaiah Livers makes driving layup (Collin Gillespie assists) | 21 | 15 |
| Q1 | 3:59 | SA | Kelly Olynyk traveling | 21 | 15 |
| Q1 | 3:48 | PHX | Collin Gillespie misses driving layup | 21 | 15 |
| Q1 | 3:41 | SA | Keldon Johnson defensive rebound | 21 | 15 |
| Q1 | 3:40 | SA | Oso Ighodaro blocks David Jones Garcia 's 1-foot two point shot | 21 | 15 |
| Q1 | 3:39 | PHX | Devin Booker defensive rebound | 21 | 15 |
| Q1 | 3:33 | PHX | Devin Booker misses two point shot | 21 | 15 |
| Q1 | 3:31 | SA | David Jones Garcia defensive rebound | 21 | 15 |
| Q1 | 3:26 | PHX | Jordan Goodwin enters the game for Dillon Brooks | 21 | 15 |
| Q1 | 3:26 | SA | De'Aaron Fox enters the game for Devin Vassell | 21 | 15 |
| Q1 | 3:24 | SA | De'Aaron Fox misses 25-foot three point pullup jump shot | 21 | 15 |
| Q1 | 3:20 | PHX | Oso Ighodaro defensive rebound | 21 | 15 |
| Q1 | 3:08 | PHX | Oso Ighodaro makes 1-foot layup (Collin Gillespie assists) | 21 | 17 |
| Q1 | 2:52 | SA | Isaiah Livers blocks Jeremy Sochan 's 3-foot driving layup | 21 | 17 |
| Q1 | 2:50 | PHX | Jordan Goodwin defensive rebound | 21 | 17 |
| Q1 | 2:43 | PHX | Collin Gillespie misses 26-foot three point jumper | 21 | 17 |
| Q1 | 2:40 | PHX | Oso Ighodaro offensive rebound | 21 | 17 |
| Q1 | 2:27 | PHX | Isaiah Livers makes 24-foot three point jumper (Collin Gillespie assists) | 21 | 20 |
| Q1 | 2:25 | SA | Spurs Full timeout | 21 | 20 |
| Q1 | 2:25 | SA | Luke Kornet enters the game for Kelly Olynyk | 21 | 20 |
| Q1 | 2:25 | SA | Julian Champagnie enters the game for Jeremy Sochan | 21 | 20 |
| Q1 | 2:09 | PHX | Oso Ighodaro kicked ball violation | 21 | 20 |
| Q1 | 2:05 | SA | Julian Champagnie misses 26-foot three point jumper | 21 | 20 |
| Q1 | 2:01 | PHX | Jordan Goodwin defensive rebound | 21 | 20 |
| Q1 | 1:47 | PHX | Jordan Goodwin makes 2-foot two point shot | 21 | 22 |
| Q1 | 1:32 | SA | Luke Kornet makes 8-foot jumper (Julian Champagnie assists) | 23 | 22 |
| Q1 | 1:19 | PHX | Collin Gillespie makes 27-foot three point jumper (Oso Ighodaro assists) | 23 | 25 |
| Q1 | 1:06 | SA | Keldon Johnson makes 9-foot two point shot | 25 | 25 |
| Q1 | 0:00 | PHX | Jordan Goodwin misses 11-foot pullup jump shot | 25 | 25 |
| Q1 | 0:00 | SA | Keldon Johnson defensive rebound | 25 | 25 |
| Q1 | 0:00 | SA | Julian Champagnie makes 22-foot three point jumper (Keldon Johnson assists) | 28 | 25 |
| Q1 | 0:00 | PHX | Devin Booker misses 26-foot three point jumper | 28 | 25 |
| Q1 | 0:00 | SA | Luke Kornet defensive rebound | 28 | 25 |
| Q1 | 0:00 | PHX | Oso Ighodaro personal foul | 28 | 25 |
| Q1 | 0:00 | SA | De'Aaron Fox makes free throw 1 of 2 | 29 | 25 |
| Q1 | 0:00 | SA | De'Aaron Fox makes free throw 2 of 2 | 30 | 25 |
| Q1 | 0:00 | PHX | Collin Gillespie misses heave jump shot | 30 | 25 |
| Q1 | 0:00 | PHX | Suns offensive team rebound | 30 | 25 |
| Q1 | 0:00 | — | End of the 1st Quarter | 30 | 25 |
| Q1 | 0:00 | PHX | Royce O'Neale enters the game for Jordan Goodwin | 30 | 25 |
| Q1 | 0:00 | SA | Jeremy Sochan enters the game for Luke Kornet | 30 | 25 |
| Q2 | 12:00 | PHX | Nick Richards enters the game for Devin Booker | 30 | 25 |
| Q2 | 12:00 | PHX | Jordan Goodwin enters the game for Isaiah Livers | 30 | 25 |
| Q2 | 12:00 | SA | Carter Bryant enters the game for Keldon Johnson | 30 | 25 |
| Q2 | 12:00 | SA | Harrison Barnes enters the game for David Jones Garcia | 30 | 25 |
| Q2 | 12:00 | SA | Luke Kornet enters the game for Jeremy Sochan | 30 | 25 |
| Q2 | 11:52 | PHX | Royce O'Neale shooting foul | 30 | 25 |
| Q2 | 11:52 | SA | De'Aaron Fox makes free throw 1 of 2 | 31 | 25 |
| Q2 | 11:52 | SA | De'Aaron Fox makes free throw 2 of 2 | 32 | 25 |
| Q2 | 11:43 | PHX | Jordan Goodwin makes 6-foot driving floating jump shot (Collin Gillespie assists) | 32 | 27 |
| Q2 | 11:26 | SA | Julian Champagnie misses 26-foot three point jumper | 32 | 27 |
| Q2 | 11:24 | PHX | Nick Richards defensive rebound | 32 | 27 |
| Q2 | 11:15 | PHX | Jordan Goodwin misses 23-foot three point pullup jump shot | 32 | 27 |
| Q2 | 11:12 | SA | De'Aaron Fox defensive rebound | 32 | 27 |
| Q2 | 10:59 | SA | Luke Kornet bad pass (Collin Gillespie steals) | 32 | 27 |
| Q2 | 10:50 | PHX | Nick Richards misses alley oop layup | 32 | 27 |
| Q2 | 10:48 | PHX | Jordan Goodwin offensive rebound | 32 | 27 |
| Q2 | 10:47 | PHX | Jordan Goodwin misses driving floating jump shot | 32 | 27 |
| Q2 | 10:43 | PHX | Jordan Goodwin offensive rebound | 32 | 27 |
| Q2 | 10:42 | PHX | Jordan Goodwin misses two point shot | 32 | 27 |
| Q2 | 10:40 | PHX | Collin Gillespie offensive rebound | 32 | 27 |
| Q2 | 10:38 | PHX | Luke Kornet blocks Nick Richards 's 1-foot layup | 32 | 27 |
| Q2 | 10:35 | SA | Carter Bryant defensive rebound | 32 | 27 |
| Q2 | 10:18 | SA | Harrison Barnes misses 25-foot three point jumper | 32 | 27 |
| Q2 | 10:14 | PHX | Nick Richards defensive rebound | 32 | 27 |
| Q2 | 10:06 | PHX | Jordan Goodwin makes 1-foot layup (Oso Ighodaro assists) | 32 | 29 |
| Q2 | 9:51 | SA | Harrison Barnes makes 4-foot two point shot | 34 | 29 |
| Q2 | 9:38 | PHX | Collin Gillespie misses 27-foot three point pullup jump shot | 34 | 29 |
| Q2 | 9:35 | SA | Luke Kornet defensive rebound | 34 | 29 |
| Q2 | 9:28 | SA | Carter Bryant misses 25-foot three point jumper | 34 | 29 |
| Q2 | 9:24 | PHX | Jordan Goodwin defensive rebound | 34 | 29 |
| Q2 | 9:16 | PHX | Royce O'Neale misses driving layup | 34 | 29 |
| Q2 | 9:13 | SA | Julian Champagnie defensive rebound | 34 | 29 |
| Q2 | 9:10 | SA | Carter Bryant makes two point shot | 36 | 29 |
| Q2 | 9:10 | PHX | Suns Full timeout | 36 | 29 |
| Q2 | 8:51 | PHX | Nick Richards makes two point shot (Oso Ighodaro assists) | 36 | 31 |
| Q2 | 8:34 | SA | Carter Bryant makes 24-foot three point jumper (De'Aaron Fox assists) | 39 | 31 |
| Q2 | 8:16 | PHX | Oso Ighodaro misses 7-foot two point shot | 39 | 31 |
| Q2 | 8:13 | SA | Carter Bryant defensive rebound | 39 | 31 |
| Q2 | 8:01 | SA | Luke Kornet makes dunk (De'Aaron Fox assists) | 41 | 31 |
| Q2 | 7:47 | PHX | Royce O'Neale makes 30-foot three pointer (Jordan Goodwin assists) | 41 | 34 |
| Q2 | 7:33 | SA | Julian Champagnie makes 1-foot dunk (Luke Kornet assists) | 43 | 34 |
| Q2 | 7:14 | PHX | Nick Richards misses 5-foot hook shot | 43 | 34 |
| Q2 | 7:12 | SA | Julian Champagnie defensive rebound | 43 | 34 |
| Q2 | 7:07 | SA | Oso Ighodaro blocks Carter Bryant's two point shot | 43 | 34 |
| Q2 | 7:05 | PHX | Royce O'Neale defensive rebound | 43 | 34 |
| Q2 | 6:57 | PHX | Royce O'Neale misses 26-foot three point jumper | 43 | 34 |
| Q2 | 6:56 | SA | Spurs defensive team rebound | 43 | 34 |
| Q2 | 6:56 | PHX | Nick Richards loose ball foul | 43 | 34 |
| Q2 | 6:56 | PHX | Devin Booker enters the game for Oso Ighodaro | 43 | 34 |
| Q2 | 6:56 | PHX | Dillon Brooks enters the game for Nick Richards | 43 | 34 |
| Q2 | 6:56 | PHX | Mark Williams enters the game for Jordan Goodwin | 43 | 34 |
| Q2 | 6:56 | SA | Jeremy Sochan enters the game for De'Aaron Fox | 43 | 34 |
| Q2 | 6:56 | SA | Kelly Olynyk enters the game for Carter Bryant | 43 | 34 |
| Q2 | 6:56 | SA | Keldon Johnson enters the game for Luke Kornet | 43 | 34 |
| Q2 | 6:48 | SA | Jeremy Sochan makes 1-foot driving dunk | 45 | 34 |
| Q2 | 6:33 | SA | Kelly Olynyk personal foul | 45 | 34 |
| Q2 | 6:33 | SA | Devin Vassell enters the game for Julian Champagnie | 45 | 34 |
| Q2 | 6:25 | PHX | Dillon Brooks makes 11-foot two point shot | 45 | 36 |
| Q2 | 6:13 | SA | Devin Vassell misses 28-foot three point jumper | 45 | 36 |
| Q2 | 6:08 | SA | Jeremy Sochan offensive rebound | 45 | 36 |
| Q2 | 6:08 | PHX | Mark Williams personal foul | 45 | 36 |
| Q2 | 6:08 | PHX | Isaiah Livers enters the game for Collin Gillespie | 45 | 36 |
| Q2 | 5:59 | SA | Devin Vassell misses 14-foot step back jumpshot | 45 | 36 |
| Q2 | 5:52 | SA | Kelly Olynyk offensive rebound | 45 | 36 |
| Q2 | 5:44 | SA | Keldon Johnson offensive foul | 45 | 36 |
| Q2 | 5:44 | SA | Keldon Johnson turnover | 45 | 36 |
| Q2 | 5:30 | PHX | Dillon Brooks traveling | 45 | 36 |
| Q2 | 5:30 | SA | David Jones Garcia enters the game for Harrison Barnes | 45 | 36 |
| Q2 | 5:17 | SA | Kelly Olynyk misses 25-foot three point jumper | 45 | 36 |
| Q2 | 5:14 | PHX | Devin Booker defensive rebound | 45 | 36 |
| Q2 | 5:09 | PHX | Mark Williams makes 1-foot dunk (Devin Booker assists) | 45 | 38 |
| Q2 | 5:01 | SA | Devin Booker blocks David Jones Garcia 's 1-foot driving layup | 45 | 38 |
| Q2 | 5:01 | PHX | Mark Williams defensive rebound | 45 | 38 |
| Q2 | 4:56 | PHX | Dillon Brooks makes 26-foot three point shot (Devin Booker assists) | 45 | 41 |
| Q2 | 4:54 | SA | Spurs Full timeout | 45 | 41 |
| Q2 | 4:31 | SA | Keldon Johnson makes 29-foot three point jumper (Kelly Olynyk assists) | 48 | 41 |
| Q2 | 4:06 | PHX | Dillon Brooks makes 11-foot two point shot | 48 | 43 |
| Q2 | 3:49 | SA | Jeremy Sochan misses 23-foot three point jumper | 48 | 43 |
| Q2 | 3:47 | SA | Kelly Olynyk offensive rebound | 48 | 43 |
| Q2 | 3:44 | SA | Devin Vassell misses 25-foot three point jumper | 48 | 43 |
| Q2 | 3:41 | SA | Jeremy Sochan offensive rebound | 48 | 43 |
| Q2 | 3:39 | SA | Kelly Olynyk misses 25-foot three point jumper | 48 | 43 |
| Q2 | 3:36 | PHX | Dillon Brooks defensive rebound | 48 | 43 |
| Q2 | 3:22 | PHX | Royce O'Neale bad pass (Devin Vassell steals) | 48 | 43 |
| Q2 | 3:16 | SA | Jeremy Sochan makes 1-foot layup (David Jones Garcia assists) | 50 | 43 |
| Q2 | 3:02 | PHX | Devin Booker misses 17-foot pullup jump shot | 50 | 43 |
| Q2 | 2:59 | SA | Jeremy Sochan defensive rebound | 50 | 43 |
| Q2 | 2:50 | SA | Kelly Olynyk bad pass (Isaiah Livers steals) | 50 | 43 |
| Q2 | 2:48 | SA | Kelly Olynyk shooting foul | 50 | 43 |
| Q2 | 2:48 | PHX | Devin Booker makes free throw 1 of 2 | 50 | 44 |
| Q2 | 2:48 | PHX | Jordan Goodwin enters the game for Isaiah Livers | 50 | 44 |
| Q2 | 2:48 | SA | De'Aaron Fox enters the game for Keldon Johnson | 50 | 44 |
| Q2 | 2:48 | SA | Julian Champagnie enters the game for David Jones Garcia | 50 | 44 |
| Q2 | 2:48 | PHX | Devin Booker makes free throw 2 of 2 | 50 | 45 |
| Q2 | 2:35 | SA | De'Aaron Fox bad pass (Mark Williams steals) | 50 | 45 |
| Q2 | 2:31 | SA | Luke Kornet enters the game for Kelly Olynyk | 50 | 45 |
| Q2 | 2:31 | SA | Harrison Barnes enters the game for Jeremy Sochan | 50 | 45 |
| Q2 | 2:25 | PHX | Devin Booker misses 9-foot pullup jump shot | 50 | 45 |
| Q2 | 2:21 | SA | Julian Champagnie defensive rebound | 50 | 45 |
| Q2 | 2:17 | PHX | Mark Williams kicked ball violation | 50 | 45 |
| Q2 | 2:09 | SA | Julian Champagnie misses driving layup | 50 | 45 |
| Q2 | 2:08 | SA | Julian Champagnie offensive rebound | 50 | 45 |
| Q2 | 2:00 | PHX | Mark Williams shooting foul | 50 | 45 |
| Q2 | 2:00 | SA | De'Aaron Fox makes free throw 1 of 2 | 51 | 45 |
| Q2 | 2:00 | SA | De'Aaron Fox makes free throw 2 of 2 | 52 | 45 |
| Q2 | 1:44 | PHX | Devin Booker makes 7-foot two point shot | 52 | 47 |
| Q2 | 1:34 | SA | De'Aaron Fox misses 13-foot pullup jump shot | 52 | 47 |
| Q2 | 1:34 | PHX | Mark Williams defensive rebound | 52 | 47 |
| Q2 | 1:27 | PHX | Dillon Brooks misses running pullup jump shot | 52 | 47 |
| Q2 | 1:23 | SA | Julian Champagnie defensive rebound | 52 | 47 |
| Q2 | 1:18 | PHX | Devin Booker shooting foul | 52 | 47 |
| Q2 | 1:18 | SA | Julian Champagnie misses free throw 1 of 3 | 52 | 47 |
| Q2 | 1:18 | SA | Spurs offensive team rebound | 52 | 47 |
| Q2 | 1:18 | SA | Julian Champagnie makes free throw 2 of 3 | 53 | 47 |
| Q2 | 1:18 | SA | Julian Champagnie makes free throw 3 of 3 | 54 | 47 |
| Q2 | 1:01 | PHX | Devin Booker makes driving layup | 54 | 49 |
| Q2 | 0:00 | SA | Harrison Barnes misses two point shot | 54 | 49 |
| Q2 | 0:00 | PHX | Royce O'Neale defensive rebound | 54 | 49 |
| Q2 | 0:00 | PHX | Devin Vassell blocks Devin Booker 's 3-foot two point shot | 54 | 49 |
| Q2 | 0:00 | SA | Spurs defensive team rebound | 54 | 49 |
| Q2 | 0:00 | PHX | Suns Full timeout | 54 | 49 |
| Q2 | 0:00 | PHX | (00:40.1) [Suns] COACH'S CHALLENGE (CALL STANDS) [Suns] charged with a timeout | 54 | 49 |
| Q2 | 0:00 | SA | Julian Champagnie misses 28-foot three point jumper | 54 | 49 |
| Q2 | 0:00 | SA | Harrison Barnes offensive rebound | 54 | 49 |
| Q2 | 0:00 | SA | De'Aaron Fox makes 4-foot pullup jump shot | 56 | 49 |
| Q2 | 0:00 | SA | De'Aaron Fox personal take foul | 56 | 49 |
| Q2 | 0:00 | SA | Jeremy Sochan enters the game for Luke Kornet | 56 | 49 |
| Q2 | 0:00 | PHX | Royce O'Neale misses driving floating jump shot | 56 | 49 |
| Q2 | 0:00 | PHX | Suns offensive team rebound | 56 | 49 |
| Q2 | 0:00 | — | End of the 2nd Quarter | 56 | 49 |
| Q2 | 2:08 | SA | Mark Williams blocks Julian Champagnie 's 1-foot tip shot | 50 | 45 |
| Q2 | 2:08 | SA | Julian Champagnie offensive rebound | 50 | 45 |
| Q3 | 12:00 | SA | Luke Kornet enters the game for Jeremy Sochan | 56 | 49 |
| Q3 | 11:42 | SA | De'Aaron Fox makes 25-foot three point step back jumpshot (Luke Kornet assists) | 59 | 49 |
| Q3 | 11:26 | PHX | Jordan Goodwin misses 23-foot three point jumper | 59 | 49 |
| Q3 | 11:26 | SA | Devin Vassell defensive rebound | 59 | 49 |
| Q3 | 11:05 | SA | De'Aaron Fox misses 24-foot three point pullup jump shot | 59 | 49 |
| Q3 | 11:01 | PHX | Mark Williams defensive rebound | 59 | 49 |
| Q3 | 10:55 | PHX | Dillon Brooks misses 25-foot three point step back jumpshot | 59 | 49 |
| Q3 | 10:54 | PHX | Suns offensive team rebound | 59 | 49 |
| Q3 | 10:54 | SA | Devin Vassell loose ball foul | 59 | 49 |
| Q3 | 10:52 | PHX | Royce O'Neale makes 25-foot three point jumper (Jordan Goodwin assists) | 59 | 52 |
| Q3 | 10:31 | SA | Julian Champagnie misses 28-foot three point jumper | 59 | 52 |
| Q3 | 10:28 | SA | Luke Kornet offensive rebound | 59 | 52 |
| Q3 | 10:25 | SA | Devin Vassell makes 22-foot three point jumper (Harrison Barnes assists) | 62 | 52 |
| Q3 | 10:14 | PHX | Dillon Brooks makes 27-foot three pointer (Mark Williams assists) | 62 | 55 |
| Q3 | 10:03 | SA | Harrison Barnes offensive foul | 62 | 55 |
| Q3 | 10:03 | SA | Harrison Barnes turnover | 62 | 55 |
| Q3 | 9:56 | PHX | Dillon Brooks makes 25-foot three point jumper (Royce O'Neale assists) | 62 | 58 |
| Q3 | 9:53 | SA | Spurs Full timeout | 62 | 58 |
| Q3 | 9:30 | SA | De'Aaron Fox misses 29-foot three point pullup jump shot | 62 | 58 |
| Q3 | 9:26 | PHX | Mark Williams defensive rebound | 62 | 58 |
| Q3 | 9:16 | PHX | Mark Williams misses layup | 62 | 58 |
| Q3 | 9:13 | PHX | Mark Williams offensive rebound | 62 | 58 |
| Q3 | 9:13 | PHX | Mark Williams makes tip shot | 62 | 60 |
| Q3 | 8:54 | SA | De'Aaron Fox misses 14-foot pullup jump shot | 62 | 60 |
| Q3 | 8:52 | PHX | Jordan Goodwin defensive rebound | 62 | 60 |
| Q3 | 8:45 | PHX | Mark Williams makes layup (Dillon Brooks assists) | 62 | 62 |
| Q3 | 8:21 | SA | Harrison Barnes misses 33-foot three point jumper | 62 | 62 |
| Q3 | 8:17 | PHX | Jordan Goodwin defensive rebound | 62 | 62 |
| Q3 | 8:01 | PHX | Jordan Goodwin misses 25-foot three point jumper | 62 | 62 |
| Q3 | 7:57 | SA | Julian Champagnie defensive rebound | 62 | 62 |
| Q3 | 7:48 | SA | Julian Champagnie out of bounds bad pass turnover | 62 | 62 |
| Q3 | 7:48 | SA | Kelly Olynyk enters the game for Luke Kornet | 62 | 62 |
| Q3 | 7:48 | SA | Jeremy Sochan enters the game for De'Aaron Fox | 62 | 62 |
| Q3 | 7:48 | SA | De'Aaron Fox technical foul | 62 | 62 |
| Q3 | 7:48 | PHX | Devin Booker makes technical free throw | 62 | 63 |
| Q3 | 7:37 | PHX | Royce O'Neale misses 28-foot three point jumper | 62 | 63 |
| Q3 | 7:32 | SA | Kelly Olynyk defensive rebound | 62 | 63 |
| Q3 | 7:22 | SA | Julian Champagnie misses 5-foot two point shot | 62 | 63 |
| Q3 | 7:21 | SA | Julian Champagnie offensive rebound | 62 | 63 |
| Q3 | 7:15 | SA | Devin Vassell makes 27-foot three point jumper (Harrison Barnes assists) | 65 | 63 |
| Q3 | 7:15 | PHX | Royce O'Neale loose ball foul | 65 | 63 |
| Q3 | 7:15 | PHX | Royce O'Neale technical foul | 65 | 63 |
| Q3 | 7:15 | SA | Devin Vassell makes technical free throw | 66 | 63 |
| Q3 | 7:15 | SA | Kelly Olynyk makes free throw 1 of 1 | 67 | 63 |
| Q3 | 7:04 | SA | Jeremy Sochan shooting foul | 67 | 63 |
| Q3 | 7:04 | PHX | Devin Booker misses free throw 1 of 2 | 67 | 63 |
| Q3 | 7:04 | PHX | Suns offensive team rebound | 67 | 63 |
| Q3 | 7:04 | PHX | Collin Gillespie enters the game for Jordan Goodwin | 67 | 63 |
| Q3 | 7:04 | PHX | Devin Booker makes free throw 2 of 2 | 67 | 64 |
| Q3 | 6:54 | SA | Jeremy Sochan traveling | 67 | 64 |
| Q3 | 6:31 | PHX | Dillon Brooks misses 28-foot three point pullup jump shot | 67 | 64 |
| Q3 | 6:28 | SA | Devin Vassell defensive rebound | 67 | 64 |
| Q3 | 6:14 | SA | Devin Vassell makes 26-foot three point jumper | 70 | 64 |
| Q3 | 6:03 | PHX | Collin Gillespie makes 27-foot three point jumper (Devin Booker assists) | 70 | 67 |
| Q3 | 5:51 | SA | Julian Champagnie misses 27-foot three point jumper | 70 | 67 |
| Q3 | 5:49 | PHX | Mark Williams defensive rebound | 70 | 67 |
| Q3 | 5:40 | PHX | Mark Williams makes 1-foot layup (Devin Booker assists) | 70 | 69 |
| Q3 | 5:18 | SA | Devin Vassell misses driving layup | 70 | 69 |
| Q3 | 5:16 | PHX | Mark Williams defensive rebound | 70 | 69 |
| Q3 | 5:11 | PHX | Mark Williams makes 1-foot alley oop dunk shot (Devin Booker assists) | 70 | 71 |
| Q3 | 5:02 | PHX | Royce O'Neale personal foul | 70 | 71 |
| Q3 | 5:02 | PHX | Isaiah Livers enters the game for Royce O'Neale | 70 | 71 |
| Q3 | 5:02 | SA | Keldon Johnson enters the game for Julian Champagnie | 70 | 71 |
| Q3 | 5:02 | SA | David Jones Garcia enters the game for Harrison Barnes | 70 | 71 |
| Q3 | 4:59 | SA | Kelly Olynyk lost ball turnover (Devin Booker steals) | 70 | 71 |
| Q3 | 4:55 | PHX | Devin Booker makes dunk | 70 | 73 |
| Q3 | 4:41 | SA | Devin Vassell makes two point shot (Jeremy Sochan assists) | 72 | 73 |
| Q3 | 4:38 | PHX | Dillon Brooks technical foul | 72 | 73 |
| Q3 | 4:38 | SA | Devin Vassell makes technical free throw | 73 | 73 |
| Q3 | 4:24 | PHX | Devin Booker makes 26-foot three point jumper (Isaiah Livers assists) | 73 | 76 |
| Q3 | 4:09 | SA | Devin Vassell misses 26-foot three point jumper | 73 | 76 |
| Q3 | 4:06 | PHX | Collin Gillespie defensive rebound | 73 | 76 |
| Q3 | 4:03 | SA | Devin Vassell personal foul | 73 | 76 |
| Q3 | 4:03 | SA | De'Aaron Fox enters the game for Devin Vassell | 73 | 76 |
| Q3 | 3:50 | PHX | Collin Gillespie makes 10-foot two point shot | 73 | 78 |
| Q3 | 3:28 | SA | Kelly Olynyk misses driving floating jump shot | 73 | 78 |
| Q3 | 3:26 | PHX | Isaiah Livers defensive rebound | 73 | 78 |
| Q3 | 3:18 | PHX | Mark Williams makes two point shot (Collin Gillespie assists) | 73 | 80 |
| Q3 | 3:18 | SA | Jeremy Sochan shooting foul | 73 | 80 |
| Q3 | 3:18 | SA | Luke Kornet enters the game for Kelly Olynyk | 73 | 80 |
| Q3 | 3:18 | PHX | Mark Williams misses free throw 1 of 1 | 73 | 80 |
| Q3 | 3:14 | SA | Keldon Johnson defensive rebound | 73 | 80 |
| Q3 | 3:01 | SA | Keldon Johnson makes 26-foot three point jumper (De'Aaron Fox assists) | 76 | 80 |
| Q3 | 2:33 | PHX | Isaiah Livers misses 29-foot three point jumper | 76 | 80 |
| Q3 | 2:29 | SA | Keldon Johnson defensive rebound | 76 | 80 |
| Q3 | 2:14 | SA | David Jones Garcia misses 27-foot three point pullup jump shot | 76 | 80 |
| Q3 | 2:10 | SA | Jeremy Sochan offensive rebound | 76 | 80 |
| Q3 | 2:08 | PHX | Mark Williams shooting foul | 76 | 80 |
| Q3 | 2:08 | PHX | Suns Full timeout | 76 | 80 |
| Q3 | 2:08 | PHX | Oso Ighodaro enters the game for Dillon Brooks | 76 | 80 |
| Q3 | 2:08 | PHX | Jordan Goodwin enters the game for Mark Williams | 76 | 80 |
| Q3 | 2:08 | SA | Jeremy Sochan misses free throw 1 of 2 | 76 | 80 |
| Q3 | 2:08 | SA | Spurs offensive team rebound | 76 | 80 |
| Q3 | 2:08 | SA | Jeremy Sochan makes free throw 2 of 2 | 77 | 80 |
| Q3 | 2:01 | SA | Jeremy Sochan personal foul | 77 | 80 |
| Q3 | 2:01 | PHX | Devin Booker misses free throw 1 of 2 | 77 | 80 |
| Q3 | 2:01 | PHX | Suns offensive team rebound | 77 | 80 |
| Q3 | 2:01 | PHX | Devin Booker makes free throw 2 of 2 | 77 | 81 |
| Q3 | 1:34 | PHX | Isaiah Livers misses 25-foot three point jumper | 77 | 81 |
| Q3 | 1:30 | SA | Jeremy Sochan defensive rebound | 77 | 81 |
| Q3 | 1:20 | SA | Luke Kornet bad pass (Isaiah Livers steals) | 77 | 81 |
| Q3 | 1:17 | PHX | Oso Ighodaro bad pass (David Jones Garcia steals) | 77 | 81 |
| Q3 | 1:13 | PHX | Jordan Goodwin makes dunk (Collin Gillespie assists) | 77 | 83 |
| Q3 | 0:00 | SA | Keldon Johnson misses 24-foot three point jumper | 77 | 83 |
| Q3 | 0:00 | SA | David Jones Garcia offensive rebound | 77 | 83 |
| Q3 | 0:00 | SA | David Jones Garcia misses 1-foot jump bank shot | 77 | 83 |
| Q3 | 0:00 | SA | Keldon Johnson offensive rebound | 77 | 83 |
| Q3 | 0:00 | SA | Keldon Johnson misses tip shot | 77 | 83 |
| Q3 | 0:00 | SA | Keldon Johnson offensive rebound | 77 | 83 |
| Q3 | 0:00 | SA | Keldon Johnson makes tip shot | 79 | 83 |
| Q3 | 0:00 | PHX | Devin Booker makes 25-foot three pointer (Jordan Goodwin assists) | 79 | 86 |
| Q3 | 0:00 | PHX | Collin Gillespie shooting foul | 79 | 86 |
| Q3 | 0:00 | SA | De'Aaron Fox makes free throw 1 of 2 | 80 | 86 |
| Q3 | 0:00 | PHX | Royce O'Neale enters the game for Oso Ighodaro | 80 | 86 |
| Q3 | 0:00 | SA | Julian Champagnie enters the game for Luke Kornet | 80 | 86 |
| Q3 | 0:00 | SA | De'Aaron Fox misses free throw 2 of 2 | 80 | 86 |
| Q3 | 0:00 | PHX | Jordan Goodwin defensive rebound | 80 | 86 |
| Q3 | 0:00 | PHX | Jordan Goodwin misses 30-foot three point jumper | 80 | 86 |
| Q3 | 0:00 | PHX | Suns offensive team rebound | 80 | 86 |
| Q3 | 0:00 | — | End of the 3rd Quarter | 80 | 86 |
| Q3 | 1:17 | SA | David Jones Garcia bad pass (Jordan Goodwin steals) | 77 | 81 |
| Q3 | 1:42 | SA | David Jones Garcia lost ball turnover (Isaiah Livers steals) | 77 | 81 |
| Q4 | 12:00 | PHX | Oso Ighodaro enters the game for Devin Booker | 80 | 86 |
| Q4 | 12:00 | SA | Harrison Barnes enters the game for Keldon Johnson | 80 | 86 |
| Q4 | 12:00 | SA | Carter Bryant enters the game for Jeremy Sochan | 80 | 86 |
| Q4 | 12:00 | SA | Luke Kornet enters the game for David Jones Garcia | 80 | 86 |
| Q4 | 11:47 | PHX | Collin Gillespie misses 18-foot pullup jump shot | 80 | 86 |
| Q4 | 11:44 | SA | Carter Bryant defensive rebound | 80 | 86 |
| Q4 | 11:26 | SA | De'Aaron Fox misses 25-foot three point pullup jump shot | 80 | 86 |
| Q4 | 11:25 | SA | Spurs offensive team rebound | 80 | 86 |
| Q4 | 11:25 | PHX | Oso Ighodaro loose ball foul | 80 | 86 |
| Q4 | 11:12 | SA | Julian Champagnie misses driving floating jump shot | 80 | 86 |
| Q4 | 11:10 | PHX | Collin Gillespie defensive rebound | 80 | 86 |
| Q4 | 11:06 | SA | De'Aaron Fox personal foul | 80 | 86 |
| Q4 | 10:58 | PHX | Luke Kornet blocks Isaiah Livers 's 1-foot two point shot | 80 | 86 |
| Q4 | 10:58 | PHX | Suns offensive team rebound | 80 | 86 |
| Q4 | 10:52 | PHX | Jordan Goodwin makes 26-foot three pointer (Oso Ighodaro assists) | 80 | 89 |
| Q4 | 10:29 | SA | Harrison Barnes makes driving layup | 82 | 89 |
| Q4 | 10:16 | PHX | Collin Gillespie makes 2-foot two point shot (Oso Ighodaro assists) | 82 | 91 |
| Q4 | 10:07 | PHX | Isaiah Livers shooting foul | 82 | 91 |
| Q4 | 10:07 | SA | De'Aaron Fox makes free throw 1 of 2 | 83 | 91 |
| Q4 | 10:07 | PHX | Dillon Brooks enters the game for Isaiah Livers | 83 | 91 |
| Q4 | 10:07 | SA | Devin Vassell enters the game for Julian Champagnie | 83 | 91 |
| Q4 | 10:07 | SA | Jeremy Sochan enters the game for Luke Kornet | 83 | 91 |
| Q4 | 10:07 | SA | De'Aaron Fox makes free throw 2 of 2 | 84 | 91 |
| Q4 | 9:54 | PHX | Dillon Brooks misses driving floating jump shot | 84 | 91 |
| Q4 | 9:50 | PHX | Jordan Goodwin offensive rebound | 84 | 91 |
| Q4 | 9:50 | PHX | Jordan Goodwin makes two point shot | 84 | 93 |
| Q4 | 9:41 | SA | Carter Bryant misses 29-foot three point jumper | 84 | 93 |
| Q4 | 9:38 | PHX | Royce O'Neale defensive rebound | 84 | 93 |
| Q4 | 9:30 | PHX | Devin Vassell blocks Collin Gillespie 's 3-foot driving layup | 84 | 93 |
| Q4 | 9:28 | SA | De'Aaron Fox defensive rebound | 84 | 93 |
| Q4 | 9:15 | PHX | Jordan Goodwin personal foul | 84 | 93 |
| Q4 | 9:15 | SA | Julian Champagnie enters the game for De'Aaron Fox | 84 | 93 |
| Q4 | 9:15 | SA | Keldon Johnson enters the game for Carter Bryant | 84 | 93 |
| Q4 | 9:02 | SA | Harrison Barnes misses 6-foot two point shot | 84 | 93 |
| Q4 | 9:01 | PHX | Dillon Brooks defensive rebound | 84 | 93 |
| Q4 | 8:53 | PHX | Collin Gillespie makes 25-foot three pointer (Dillon Brooks assists) | 84 | 96 |
| Q4 | 8:51 | SA | Spurs Full timeout | 84 | 96 |
| Q4 | 8:28 | SA | Julian Champagnie makes 24-foot three point jumper (Keldon Johnson assists) | 87 | 96 |
| Q4 | 8:08 | PHX | Dillon Brooks makes 12-foot two point shot | 87 | 98 |
| Q4 | 7:45 | SA | Devin Vassell out of bounds bad pass turnover | 87 | 98 |
| Q4 | 7:27 | PHX | Collin Gillespie makes driving layup | 87 | 100 |
| Q4 | 7:12 | SA | Keldon Johnson bad pass (Royce O'Neale steals) | 87 | 100 |
| Q4 | 6:38 | PHX | Devin Booker enters the game for Oso Ighodaro | 87 | 100 |
| Q4 | 6:38 | PHX | Mark Williams enters the game for Jordan Goodwin | 87 | 100 |
| Q4 | 6:38 | SA | De'Aaron Fox enters the game for Jeremy Sochan | 87 | 100 |
| Q4 | 6:38 | SA | Luke Kornet enters the game for Julian Champagnie | 87 | 100 |
| Q4 | 6:22 | SA | Keldon Johnson makes 22-foot pullup jump shot | 89 | 100 |
| Q4 | 6:08 | PHX | Devin Booker misses 25-foot three point jumper | 89 | 100 |
| Q4 | 6:03 | SA | De'Aaron Fox defensive rebound | 89 | 100 |
| Q4 | 6:03 | PHX | Collin Gillespie personal foul | 89 | 100 |
| Q4 | 5:55 | SA | De'Aaron Fox makes 11-foot pullup jump shot | 91 | 100 |
| Q4 | 5:53 | PHX | Suns Full timeout | 91 | 100 |
| Q4 | 5:53 | PHX | Jordan Goodwin enters the game for Collin Gillespie | 91 | 100 |
| Q4 | 5:31 | PHX | Royce O'Neale makes 28-foot three pointer (Devin Booker assists) | 91 | 103 |
| Q4 | 5:10 | SA | Keldon Johnson makes 10-foot driving floating jump shot (Luke Kornet assists) | 93 | 103 |
| Q4 | 4:50 | PHX | Dillon Brooks misses 5-foot two point shot | 93 | 103 |
| Q4 | 4:47 | SA | Luke Kornet defensive rebound | 93 | 103 |
| Q4 | 4:41 | SA | Devin Vassell misses 8-foot pullup jump shot | 93 | 103 |
| Q4 | 4:38 | PHX | Mark Williams defensive rebound | 93 | 103 |
| Q4 | 4:27 | PHX | Devin Booker makes 21-foot step back jumpshot | 93 | 105 |
| Q4 | 4:13 | PHX | Jordan Goodwin shooting foul | 93 | 105 |
| Q4 | 4:13 | SA | De'Aaron Fox makes free throw 1 of 2 | 94 | 105 |
| Q4 | 4:13 | SA | De'Aaron Fox makes free throw 2 of 2 | 95 | 105 |
| Q4 | 3:55 | PHX | Dillon Brooks makes 32-foot three point jumper (Devin Booker assists) | 95 | 108 |
| Q4 | 3:53 | SA | Spurs Full timeout | 95 | 108 |
| Q4 | 3:40 | SA | Harrison Barnes makes 1-foot driving floating jump shot | 97 | 108 |
| Q4 | 3:15 | PHX | Devin Booker misses 17-foot step back jumpshot | 97 | 108 |
| Q4 | 3:11 | PHX | Mark Williams offensive rebound | 97 | 108 |
| Q4 | 3:01 | PHX | Dillon Brooks makes 22-foot pullup jump shot | 97 | 110 |
| Q4 | 3:53 | — | (03:53) [Spurs] COACH'S CHALLENGE (CALL REPLAYCENTER) | 95 | 108 |
| Q4 | 2:52 | SA | Keldon Johnson out of bounds bad pass turnover | 97 | 110 |
| Q4 | 2:37 | PHX | Devin Booker lost ball turnover (Harrison Barnes steals) | 97 | 110 |
| Q4 | 2:37 | PHX | Royce O'Neale shooting foul | 97 | 110 |
| Q4 | 2:37 | SA | Devin Vassell makes free throw 1 of 2 | 98 | 110 |
| Q4 | 2:37 | PHX | Collin Gillespie enters the game for Royce O'Neale | 98 | 110 |
| Q4 | 2:37 | SA | Julian Champagnie enters the game for Luke Kornet | 98 | 110 |
| Q4 | 2:37 | SA | Devin Vassell makes free throw 2 of 2 | 99 | 110 |
| Q4 | 2:16 | PHX | Dillon Brooks misses 27-foot three point pullup jump shot | 99 | 110 |
| Q4 | 2:10 | SA | Julian Champagnie defensive rebound | 99 | 110 |
| Q4 | 2:03 | SA | De'Aaron Fox makes 2-foot dunk (Devin Vassell assists) | 101 | 110 |
| Q4 | 6:46 | PHX | Dillon Brooks lost ball turnover (Julian Champagnie steals) | 87 | 100 |
| Q4 | 1:36 | PHX | Jordan Goodwin misses 14-foot pullup jump shot | 101 | 110 |
| Q4 | 1:36 | PHX | Suns offensive team rebound | 101 | 110 |
| Q4 | 1:36 | SA | De'Aaron Fox loose ball foul | 101 | 110 |
| Q4 | 1:36 | PHX | Royce O'Neale enters the game for Mark Williams | 101 | 110 |
| Q4 | 1:36 | PHX | Suns Full timeout | 101 | 110 |
| Q4 | 1:24 | PHX | Devin Booker misses driving layup | 101 | 110 |
| Q4 | 1:23 | SA | Julian Champagnie defensive rebound | 101 | 110 |
| Q4 | 1:17 | SA | Julian Champagnie misses 27-foot three point shot | 101 | 110 |
| Q4 | 1:14 | PHX | Devin Booker defensive rebound | 101 | 110 |
| Q4 | 0:00 | PHX | Dillon Brooks misses 31-foot three point jumper | 101 | 110 |
| Q4 | 0:00 | SA | De'Aaron Fox defensive rebound | 101 | 110 |
| Q4 | 0:00 | PHX | Royce O'Neale shooting foul | 101 | 110 |
| Q4 | 0:00 | SA | De'Aaron Fox misses free throw 1 of 2 | 101 | 110 |
| Q4 | 0:00 | SA | Spurs offensive team rebound | 101 | 110 |
| Q4 | 0:00 | SA | De'Aaron Fox makes free throw 2 of 2 | 102 | 110 |
| Q4 | 0:00 | PHX | Devin Booker out of bounds lost ball turnover | 102 | 110 |
| Q4 | 0:00 | SA | Devin Vassell lost ball turnover (Dillon Brooks steals) | 102 | 110 |
| Q4 | 0:00 | SA | De'Aaron Fox personal take foul | 102 | 110 |
| Q4 | 0:00 | PHX | Devin Booker misses free throw 1 of 2 | 102 | 110 |
| Q4 | 0:00 | PHX | Suns offensive team rebound | 102 | 110 |
| Q4 | 0:00 | PHX | Devin Booker makes free throw 2 of 2 | 102 | 111 |
| Q4 | 0:00 | SA | Spurs Full timeout | 102 | 111 |
| Q4 | 0:00 | SA | Julian Champagnie misses 25-foot three point jumper | 102 | 111 |
| Q4 | 0:00 | PHX | Devin Booker defensive rebound | 102 | 111 |
| Q4 | 0:00 | — | End of the 4th Quarter | 102 | 111 |
| Q4 | 0:00 | — | End of Game | 102 | 111 |
Possession sequences reconstructed from official play-by-play.
Team identities for this game’s possession sequences could not be resolved.
The box score and standard play-by-play may still be available above.