| Final/SO | 1st | 2nd | 3rd | OT | SO | T | SOG |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 1 | 4 | 23 | |
| 1 | 1 | 1 | 0 | 0 | 3 | 39 |
| 1st Period | |||
|---|---|---|---|
| 13:02 | Erik Haula (11)PP Roman Josi (34), Luke Evangelista (39) · tip-in xG 0.13 | 1–0 ▶ | |
| 19:20 | Josh Morrissey (12) Gabriel Vilardi (30), Kyle Connor (45) · wrist xG 0.14 | 1–1 ▶ | |
| 2nd Period | |||
| 5:09 | Gabriel Vilardi (26)PP Cole Perfetti (17), Kyle Connor (46) · wrist xG 0.34 | 1–2 ▶ | |
| 10:48 | Filip Forsberg (29) Jonathan Marchessault (11), Ryan Ufko (3) · slap xG 0.06 | 2–2 ▶ | |
| 3rd Period | |||
| 14:01 | Matthew Wood (15) Jonathan Marchessault (12), Filip Forsberg (26) · snap xG 0.11 | 3–2 ▶ | |
| 18:59 | Jonathan Toews (8) Mark Scheifele (52), Kyle Connor (47) · snap xG 0.31 | 3–3 ▶ | |
| Overtime | |||
| No scoring | |||
| Shootout | |||
| Gabriel Vilardi vs Juuse Saros | Saved | ||
| Ryan O'Reilly vs Connor Hellebuyck | Goal | ||
| Mark Scheifele vs Juuse Saros | Missed | ||
| Filip Forsberg vs Connor Hellebuyck | Missed | ||
| Kyle Connor vs Juuse Saros | Missed | ||
Score away–home after each goal; season totals in parentheses.
Expected goals (xG) rate every unblocked shot by how often shots like it go in, from where it was taken, the shot type, the strength and what happened just before it. How it works
| NSH | WPG | |
|---|---|---|
| 2.40 | Expected goals | 4.26 |
| 3 | Goals (no shootout) | 3 |
| 1.49 | Expected goals, 5 on 5 | 2.22 |
| 51 | Shot attempts | 76 |
| 37 | Unblocked attempts | 57 |
| 23 | Shots on goal | 39 |
What stood out as the game went on, from the play-by-play and the shifts. Time on the bench is counted in 5-on-5 play outside the penalty box; the note says the player sat, not why. Goals saved are against the shots' expected goals (xG).
| 2nd Period | |||
|---|---|---|---|
| 5:09 | WPG | Deserve to win | Deserve to win · WPG takes the lead, 64–36%
NSH had led since 3:46 of the 1st, by as much as 74% |
| 5:10 | WPG | xG swing | xG swing · Out-chanced NSH 1.50–0.25
In xG over 10 minutes, 16:00 of the 1st to 6:00 of the 2nd; goals 2–0 |
| 3rd Period | |||
| 8:50 | WPG | No shift | No shift · Koepke, 10:18 on the bench
No shift from 14:08 of the 2nd to 9:04 of the 3rd; 8 shifts (5:27) before that |
| 18:22 | WPG | Pulled goalie | Pulled goalie · Pulled Hellebuyck, down 3–2
With 1:38 left; WPG scored at 18:59 of the 3rd (3–3) |
xG comes from hockeystats.io's own model, a gradient-boosted tree model trained on every unblocked shot from the 2021-22 to 2025-26 regular seasons using the NHL's public play-by-play. Each shot's value is the share of similar shots that became goals. A team's xG is the sum over its shots; "deserve to win" asks how often the team would outscore its opponent if every shot went in at exactly that rate. Blocked shots count as attempts but have no xG (the NHL records where they were blocked, not where they were taken), so the map leaves them out.
| Skater | G | A | P | +/− | Att | xG | Hit | Blk | TOI | |
|---|---|---|---|---|---|---|---|---|---|---|
| Forwards | ||||||||||
| 90 | Ryan O'Reilly | 0 | 0 | 0 | -2 | 2 | 0.07 | 0 | 2 | 21:59 |
| 91 | Steven Stamkos | 0 | 0 | 0 | -2 | 8 | 0.43 | 2 | 1 | 18:15 |
| 81 | Jonathan Marchessault | 0 | 2 | 2 | +2 | 4 | 0.19 | 1 | 0 | 18:12 |
| 17 | Tyson Jost | 0 | 0 | 0 | -1 | 2 | 0.00 | 0 | 0 | 17:42 |
| 9 | Filip Forsberg | 1 | 1 | 2 | +2 | 8 | 0.65 | 1 | 2 | 17:34 |
| 56 | Erik Haula | 1 | 0 | 1 | 0 | 4 | 0.24 | 1 | 0 | 16:41 |
| 71 | Matthew Wood | 1 | 0 | 1 | +2 | 4 | 0.26 | 2 | 0 | 16:28 |
| 77 | Luke Evangelista | 0 | 1 | 1 | -1 | 3 | 0.12 | 1 | 0 | 15:09 |
| 68 | Zachary L'Heureux | 0 | 0 | 0 | 0 | 0 | 0.00 | 3 | 2 | 13:07 |
| 89 | Ozzy Wiesblatt | 0 | 0 | 0 | 0 | 2 | 0.00 | 1 | 0 | 10:05 |
| 9 | Fedor Svechkov | 0 | 0 | 0 | 0 | 2 | 0.15 | 2 | 1 | 09:58 |
| 49 | Reid Schaefer | 0 | 0 | 0 | 0 | 0 | 0.00 | 2 | 1 | 09:38 |
| Defense | ||||||||||
| 59 | Roman Josi | 0 | 1 | 1 | -2 | 2 | 0.13 | 1 | 1 | 27:36 |
| 76 | Brady Skjei | 0 | 0 | 0 | -1 | 2 | 0.07 | 3 | 2 | 25:14 |
| 41 | Nicolas Hague | 0 | 0 | 0 | +1 | 4 | 0.02 | 0 | 0 | 24:42 |
| 48 | Nick Perbix | 0 | 0 | 0 | 0 | 2 | 0.04 | 0 | 2 | 20:18 |
| 72 | Justin Barron | 0 | 0 | 0 | +1 | 0 | 0.00 | 1 | 2 | 14:33 |
| 12 | Ryan Ufko | 0 | 1 | 1 | +1 | 2 | 0.03 | 0 | 1 | 11:39 |
| Goalie | SA | GA | SV | SV% | xGA | GSAx |
|---|---|---|---|---|---|---|
| Juuse Saros | 39 | 3 | 36 | .923 | 4.26 | +1.26 |
| Skater | G | A | P | +/− | Att | xG | Hit | Blk | TOI | |
|---|---|---|---|---|---|---|---|---|---|---|
| Forwards | ||||||||||
| 81 | Kyle Connor | 0 | 3 | 3 | +2 | 13 | 0.57 | 1 | 0 | 25:17 |
| 55 | Mark Scheifele | 0 | 1 | 1 | +2 | 4 | 0.32 | 0 | 0 | 24:41 |
| 13 | Gabriel Vilardi | 1 | 1 | 2 | +2 | 7 | 0.77 | 1 | 1 | 21:56 |
| 91 | Cole Perfetti | 0 | 1 | 1 | +1 | 11 | 0.75 | 0 | 1 | 21:05 |
| 17 | Adam Lowry | 0 | 0 | 0 | 0 | 1 | 0.00 | 4 | 1 | 17:10 |
| 9 | Alex Iafallo | 0 | 0 | 0 | 0 | 2 | 0.09 | 0 | 1 | 15:37 |
| 36 | Morgan Barron | 0 | 0 | 0 | -2 | 2 | 0.06 | 1 | 0 | 14:00 |
| 19 | Jonathan Toews | 1 | 0 | 1 | +1 | 3 | 0.38 | 0 | 0 | 13:58 |
| 14 | Gustav Nyquist | 0 | 0 | 0 | 0 | 4 | 0.40 | 0 | 0 | 13:33 |
| 27 | Isak Rosen | 0 | 0 | 0 | 0 | 4 | 0.13 | 0 | 0 | 13:18 |
| 93 | Brad Lambert | 0 | 0 | 0 | -2 | 4 | 0.21 | 0 | 0 | 09:15 |
| 45 | Cole Koepke | 0 | 0 | 0 | -2 | 4 | 0.20 | 5 | 0 | 07:03 |
| Defense | ||||||||||
| 44 | Josh Morrissey | 1 | 0 | 1 | +1 | 5 | 0.21 | 1 | 3 | 29:05 |
| 54 | Dylan Samberg | 0 | 0 | 0 | 0 | 2 | 0.03 | 1 | 3 | 25:22 |
| 2 | Dylan DeMelo | 0 | 0 | 0 | 0 | 2 | 0.01 | 0 | 0 | 22:25 |
| 57 | Elias Salomonsson | 0 | 0 | 0 | 0 | 7 | 0.11 | 1 | 0 | 21:48 |
| 24 | Haydn Fleury | 0 | 0 | 0 | -1 | 0 | 0.00 | 1 | 3 | 10:06 |
| 78 | Jacob Bryson | 0 | 0 | 0 | -1 | 1 | 0.01 | 0 | 0 | 09:24 |
| Goalie | SA | GA | SV | SV% | xGA | GSAx |
|---|---|---|---|---|---|---|
| Connor Hellebuyck | 23 | 3 | 20 | .870 | 2.40 | -0.60 |
Skaters by time on ice. Goalie lines count shots with the goalie in net, from the NHL play-by-play.
What each player added to the result, in goals, from most to least. Hover a number for what it's made of.
| Player | Rating | Points | Shots | On ice | Pen | FO | Other | GSAx | TOI |
|---|---|---|---|---|---|---|---|---|---|
| 81 Jonathan Marchessault R | +1.72 | +1.40 | +0.13 | +0.30 | -0.15 | 0.00 | +0.04 | — | 18:12 |
| 9 Filip Forsberg L | +1.59 | +1.30 | +0.43 | +0.06 | -0.30 | 0.00 | +0.10 | — | 17:34 |
| 74 Juuse Saros G | +1.26 | 0.00 | — | — | 0.00 | — | — | +1.26 | 65:00 |
| 71 Matthew Wood R | +1.12 | +0.75 | +0.17 | +0.26 | 0.00 | -0.04 | -0.02 | — | 16:28 |
| 56 Erik Haula L | +0.99 | +0.75 | +0.15 | +0.05 | 0.00 | +0.03 | 0.00 | — | 16:41 |
| 48 Nick Perbix D | +0.42 | 0.00 | +0.03 | +0.29 | 0.00 | 0.00 | +0.10 | — | 20:18 |
| 85 Ryan Ufko D | +0.40 | +0.55 | +0.02 | -0.06 | -0.15 | 0.00 | +0.05 | — | 11:39 |
| 59 Roman Josi D | +0.30 | +0.70 | +0.09 | -0.53 | 0.00 | 0.00 | +0.05 | — | 27:36 |
| 77 Luke Evangelista R | +0.18 | +0.55 | +0.08 | -0.45 | 0.00 | 0.00 | 0.00 | — | 15:09 |
| 68 Zachary L'Heureux L | +0.16 | 0.00 | 0.00 | +0.06 | 0.00 | 0.00 | +0.10 | — | 13:07 |
| 91 Steven Stamkos C | +0.03 | 0.00 | +0.28 | -0.30 | 0.00 | 0.00 | +0.05 | — | 18:15 |
| 49 Reid Schaefer L | -0.09 | 0.00 | 0.00 | -0.26 | +0.15 | -0.01 | +0.03 | — | 9:38 |
| 40 Fedor Svechkov C | -0.17 | 0.00 | +0.09 | -0.27 | 0.00 | -0.03 | +0.03 | — | 9:58 |
| 76 Brady Skjei D | -0.19 | 0.00 | +0.04 | -0.34 | 0.00 | 0.00 | +0.10 | — | 25:14 |
| 89 Ozzy Wiesblatt C | -0.20 | 0.00 | 0.00 | -0.20 | 0.00 | 0.00 | 0.00 | — | 10:05 |
| 20 Justin Barron D | -0.21 | 0.00 | 0.00 | -0.31 | 0.00 | 0.00 | +0.10 | — | 14:33 |
| 17 Tyson Jost C | -0.37 | 0.00 | 0.00 | -0.33 | 0.00 | 0.00 | -0.04 | — | 17:42 |
| 41 Nicolas Hague D | -0.46 | 0.00 | +0.01 | -0.48 | 0.00 | 0.00 | 0.00 | — | 24:42 |
| 90 Ryan O'Reilly C | -0.54 | 0.00 | +0.05 | -0.70 | 0.00 | -0.01 | +0.12 | — | 21:59 |
| Player | Rating | Points | Shots | On ice | Pen | FO | Other | GSAx | TOI |
|---|---|---|---|---|---|---|---|---|---|
| 13 Gabriel Vilardi C | +2.97 | +1.45 | +0.50 | +0.66 | +0.30 | -0.01 | +0.07 | — | 21:56 |
| 81 Kyle Connor L | +2.55 | +1.65 | +0.37 | +0.55 | 0.00 | 0.00 | -0.02 | — | 25:17 |
| 55 Mark Scheifele C | +1.62 | +0.70 | +0.21 | +0.61 | +0.15 | +0.01 | -0.06 | — | 24:41 |
| 91 Cole Perfetti C | +1.31 | +0.70 | +0.49 | +0.07 | 0.00 | 0.00 | +0.05 | — | 21:05 |
| 19 Jonathan Toews C | +1.11 | +0.75 | +0.25 | +0.08 | 0.00 | +0.03 | 0.00 | — | 13:58 |
| 44 Josh Morrissey D | +1.03 | +0.75 | +0.14 | +0.01 | 0.00 | 0.00 | +0.13 | — | 29:05 |
| 57 Elias Salomonsson D | +0.67 | 0.00 | +0.07 | +0.60 | 0.00 | 0.00 | 0.00 | — | 21:48 |
| 14 Gustav Nyquist R | +0.61 | 0.00 | +0.26 | +0.38 | 0.00 | 0.00 | -0.02 | — | 13:33 |
| 54 Dylan Samberg D | +0.58 | 0.00 | +0.02 | +0.41 | 0.00 | 0.00 | +0.15 | — | 25:22 |
| 78 Jacob Bryson D | +0.47 | 0.00 | +0.01 | +0.31 | +0.15 | 0.00 | 0.00 | — | 9:24 |
| 27 Isak Rosen R | +0.47 | 0.00 | +0.09 | +0.38 | 0.00 | 0.00 | 0.00 | — | 13:18 |
| 17 Adam Lowry C | +0.13 | 0.00 | 0.00 | +0.07 | 0.00 | +0.03 | +0.03 | — | 17:10 |
| 9 Alex Iafallo L | +0.09 | 0.00 | +0.06 | -0.03 | 0.00 | +0.01 | +0.05 | — | 15:37 |
| 2 Dylan DeMelo D | +0.04 | 0.00 | +0.01 | +0.19 | -0.15 | 0.00 | 0.00 | — | 22:25 |
| 93 Brad Lambert C | +0.03 | 0.00 | +0.14 | -0.08 | 0.00 | 0.00 | -0.02 | — | 9:15 |
| 36 Morgan Barron C | -0.08 | 0.00 | +0.04 | -0.11 | 0.00 | -0.01 | 0.00 | — | 14:00 |
| 45 Cole Koepke L | -0.22 | 0.00 | +0.13 | -0.35 | 0.00 | 0.00 | 0.00 | — | 7:03 |
| 24 Haydn Fleury D | -0.36 | 0.00 | 0.00 | -0.49 | 0.00 | 0.00 | +0.13 | — | 10:06 |
| 37 Connor Hellebuyck G | -0.60 | 0.00 | — | — | 0.00 | — | — | -0.60 | 63:09 |
An expected-goals take on Dom Luszczyszyn's Game Score: goals and assists, the quality of a player's own shots, shot quality for and against while they were on the ice at 5v5, penalties, faceoffs and puck plays, all in goals; goalies by goals saved above expected. From the NHL play-by-play and shift charts.