| Final | 1st | 2nd | 3rd | T | SOG |
|---|---|---|---|---|---|
| 0 | 2 | 2 | 4 | 35 | |
| 1 | 0 | 1 | 2 | 20 |
| 1st Period | |||
|---|---|---|---|
| 5:04 | Elias Lindholm (14) Morgan Geekie (28), Henri Jokiharju (11) · wrist xG 0.09 | 0–1 ▶ | |
| 2nd Period | |||
| 7:27 | Matthew Knies (19)SH Unassisted · wrist xG 0.20 | 1–1 ▶ | |
| 18:08 | Max Domi (11)PP John Tavares (33), Oliver Ekman-Larsson (28) · backhand xG 0.29 | 2–1 ▶ | |
| 3rd Period | |||
| 3:00 | William Nylander (25) John Tavares (34), Jake McCabe (19) · snap xG 0.05 | 3–1 ▶ | |
| 5:08 | Charlie McAvoy (10)PP David Pastrnak (59), Pavel Zacha (29) · deflected xG 0.12 | 3–2 ▶ | |
| 19:38 | Matthew Knies (20)PPEN William Nylander (42), John Tavares (35) · poke xG 0.91 | 4–2 ▶ | |
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
| TOR | BOS | |
|---|---|---|
| 6.82 | Expected goals | 2.88 |
| 4 | Goals (no shootout) | 2 |
| 2.82 | Expected goals, 5 on 5 | 1.83 |
| 59 | Shot attempts | 49 |
| 53 | Unblocked attempts | 40 |
| 35 | Shots on goal | 20 |
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 | |||
|---|---|---|---|
| 15:30 | TOR | No shift | No shift · Pezzetta, 12:23 on the bench
No shift from 19:00 of the 1st to 5:08 of the 3rd; 6 shifts (3:02) before that |
| 3rd Period | |||
| 1:50 | TOR | xG swing | xG swing · Out-chanced BOS 1.66–0.06
In xG over 10 minutes, 13:30 of the 2nd to 3:30 of the 3rd; goals 2–0 |
| 17:00 | BOS | No shift | No shift · Kuraly, 11:39 on the bench
No shift from 6:56 to 19:38 of the 3rd; 15 shifts (9:24) before that |
| 17:00 | BOS | No shift | No shift · Kastelic, 11:35 on the bench
No shift from 7:00 to 19:38 of the 3rd; 13 shifts (8:09) before that |
| 17:00 | BOS | No shift | No shift · Jeannot, 11:44 on the bench
No shift from 6:51 to 19:38 of the 3rd; 14 shifts (6:19) before that |
| 19:12 | BOS | Pulled goalie | Pulled goalie · Pulled Swayman, down 3–2
With 0:48 left; TOR scored at 19:38 of the 3rd (4–2) |
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 | ||||||||||
| 88 | William Nylander | 1 | 0 | 1 | 0 | 9 | 1.50 | 0 | 1 | 21:53 |
| 91 | John Tavares | 0 | 2 | 2 | 0 | 6 | 0.50 | 0 | 0 | 19:30 |
| 89 | Matthew Knies | 1 | 0 | 1 | +1 | 4 | 1.30 | 2 | 0 | 18:21 |
| 53 | Easton Cowan | 0 | 0 | 0 | 0 | 3 | 0.28 | 2 | 0 | 17:45 |
| 29 | Bo Groulx | 0 | 0 | 0 | +1 | 3 | 0.41 | 2 | 0 | 15:43 |
| 11 | Max Domi | 1 | 0 | 1 | 0 | 3 | 0.31 | 0 | 0 | 15:29 |
| 14 | Nick Robertson | 0 | 0 | 0 | 0 | 1 | 0.08 | 2 | 0 | 14:29 |
| 81 | Dakota Joshua | 0 | 0 | 0 | 0 | 7 | 0.88 | 2 | 0 | 12:58 |
| 63 | Matias Maccelli | 0 | 0 | 0 | 0 | 1 | 0.12 | 0 | 0 | 11:45 |
| 18 | Steven Lorentz | 0 | 0 | 0 | 0 | 2 | 0.40 | 1 | 1 | 11:05 |
| 26 | Jacob Quillan | 0 | 0 | 0 | 0 | 1 | 0.03 | 2 | 1 | 09:51 |
| 61 | Michael Pezzetta | 0 | 0 | 0 | 0 | 0 | 0.00 | 2 | 0 | 04:38 |
| Defense | ||||||||||
| 22 | Jake McCabe | 0 | 1 | 1 | +1 | 1 | 0.07 | 0 | 0 | 23:10 |
| 95 | Oliver Ekman-Larsson | 0 | 1 | 1 | +1 | 4 | 0.10 | 1 | 1 | 20:20 |
| 44 | Morgan Rielly | 0 | 0 | 0 | 0 | 6 | 0.29 | 0 | 3 | 18:46 |
| 25 | Brandon Carlo | 0 | 0 | 0 | -1 | 3 | 0.47 | 2 | 0 | 18:20 |
| 44 | Simon Benoit | 0 | 0 | 0 | +1 | 2 | 0.05 | 4 | 1 | 16:39 |
| 28 | Troy Stecher | 0 | 0 | 0 | 0 | 3 | 0.01 | 0 | 0 | 16:37 |
| Goalie | SA | GA | SV | SV% | xGA | GSAx |
|---|---|---|---|---|---|---|
| Anthony Stolarz | 20 | 2 | 18 | .900 | 2.88 | +0.88 |
| Skater | G | A | P | +/− | Att | xG | Hit | Blk | TOI | |
|---|---|---|---|---|---|---|---|---|---|---|
| Forwards | ||||||||||
| 88 | David Pastrnak | 0 | 1 | 1 | 0 | 8 | 0.75 | 2 | 0 | 22:02 |
| 39 | Morgan Geekie | 0 | 1 | 1 | +1 | 7 | 0.50 | 1 | 0 | 20:00 |
| 28 | Elias Lindholm | 1 | 0 | 1 | 0 | 4 | 0.13 | 1 | 1 | 19:34 |
| 93 | Fraser Minten | 0 | 0 | 0 | -1 | 2 | 0.10 | 2 | 0 | 19:09 |
| 18 | Pavel Zacha | 0 | 1 | 1 | 0 | 3 | 0.20 | 1 | 0 | 16:37 |
| 76 | Lukas Reichel | 0 | 0 | 0 | 0 | 1 | 0.04 | 0 | 1 | 16:29 |
| 33 | Viktor Arvidsson | 0 | 0 | 0 | -1 | 3 | 0.11 | 0 | 0 | 14:27 |
| 11 | Casey Mittelstadt | 0 | 0 | 0 | -1 | 2 | 0.07 | 0 | 0 | 14:26 |
| 92 | Marat Khusnutdinov | 0 | 0 | 0 | 0 | 2 | 0.21 | 0 | 0 | 13:08 |
| 52 | Sean Kuraly | 0 | 0 | 0 | 0 | 1 | 0.01 | 0 | 0 | 09:24 |
| 47 | Mark Kastelic | 0 | 0 | 0 | 0 | 1 | 0.00 | 1 | 0 | 08:09 |
| 84 | Tanner Jeannot | 0 | 0 | 0 | -1 | 0 | 0.00 | 1 | 0 | 06:19 |
| Defense | ||||||||||
| 73 | Charlie McAvoy | 1 | 0 | 1 | -1 | 1 | 0.12 | 2 | 0 | 26:40 |
| 27 | Hampus Lindholm | 0 | 0 | 0 | -1 | 4 | 0.13 | 0 | 1 | 21:27 |
| 6 | Mason Lohrei | 0 | 0 | 0 | -1 | 3 | 0.34 | 1 | 0 | 16:40 |
| 20 | Henri Jokiharju | 0 | 1 | 1 | +1 | 1 | 0.00 | 0 | 1 | 15:48 |
| 91 | Nikita Zadorov | 0 | 0 | 0 | 0 | 3 | 0.16 | 2 | 0 | 15:05 |
| 45 | Jonathan Aspirot | 0 | 0 | 0 | 0 | 3 | 0.02 | 1 | 1 | 14:36 |
| Goalie | SA | GA | SV | SV% | xGA | GSAx |
|---|---|---|---|---|---|---|
| Jeremy Swayman | 34 | 3 | 31 | .912 | 4.64 | +1.64 |
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 |
|---|---|---|---|---|---|---|---|---|---|
| 91 John Tavares C | +3.59 | +1.95 | +0.33 | +0.96 | +0.38 | 0.00 | -0.02 | — | 19:30 |
| 88 William Nylander R | +3.35 | +1.45 | +0.98 | +0.73 | +0.15 | -0.01 | +0.05 | — | 21:53 |
| 23 Matthew Knies L | +1.78 | +1.50 | +0.85 | -0.55 | 0.00 | -0.01 | 0.00 | — | 18:21 |
| 22 Jake McCabe D | +1.04 | +0.55 | +0.05 | +0.61 | -0.15 | 0.00 | -0.02 | — | 23:10 |
| 95 Oliver Ekman-Larsson D | +0.99 | +0.55 | +0.06 | +0.33 | 0.00 | 0.00 | +0.05 | — | 20:20 |
| 41 Anthony Stolarz G | +0.88 | 0.00 | — | — | 0.00 | — | — | +0.88 | 59:51 |
| 11 Max Domi C | +0.82 | +0.75 | +0.20 | -0.10 | 0.00 | -0.03 | 0.00 | — | 15:29 |
| 53 Easton Cowan R | +0.80 | 0.00 | +0.18 | +0.64 | 0.00 | 0.00 | -0.02 | — | 17:45 |
| 28 Troy Stecher D | +0.75 | 0.00 | +0.01 | +0.75 | 0.00 | 0.00 | 0.00 | — | 16:59 |
| 18 Steven Lorentz C | +0.71 | 0.00 | +0.26 | +0.38 | 0.00 | +0.01 | +0.07 | — | 11:27 |
| 25 Brandon Carlo D | +0.53 | 0.00 | +0.31 | +0.37 | -0.15 | 0.00 | 0.00 | — | 18:20 |
| 81 Dakota Joshua C | +0.52 | 0.00 | +0.57 | +0.12 | -0.15 | -0.01 | -0.02 | — | 12:58 |
| 2 Simon Benoit D | +0.50 | 0.00 | +0.03 | +0.42 | 0.00 | 0.00 | +0.05 | — | 17:01 |
| 61 Michael Pezzetta L | +0.39 | 0.00 | 0.00 | +0.54 | -0.15 | 0.00 | 0.00 | — | 5:00 |
| 29 Bo Groulx C | +0.35 | 0.00 | +0.27 | +0.19 | 0.00 | -0.11 | 0.00 | — | 15:43 |
| 63 Matias Maccelli L | +0.18 | 0.00 | +0.08 | +0.17 | 0.00 | 0.00 | -0.06 | — | 11:45 |
| 89 Nick Robertson L | +0.17 | 0.00 | +0.05 | +0.12 | 0.00 | 0.00 | 0.00 | — | 14:29 |
| 44 Morgan Rielly D | +0.11 | 0.00 | +0.19 | -0.23 | 0.00 | 0.00 | +0.15 | — | 18:46 |
| 26 Jacob Quillan C | +0.06 | 0.00 | +0.02 | +0.03 | 0.00 | -0.04 | +0.05 | — | 10:13 |
| Player | Rating | Points | Shots | On ice | Pen | FO | Other | GSAx | TOI |
|---|---|---|---|---|---|---|---|---|---|
| 1 Jeremy Swayman G | +1.64 | 0.00 | — | — | 0.00 | — | — | +1.64 | 59:02 |
| 88 David Pastrnak R | +1.39 | +0.70 | +0.49 | +0.09 | +0.15 | 0.00 | -0.04 | — | 22:02 |
| 39 Morgan Geekie C | +1.09 | +0.70 | +0.32 | +0.13 | 0.00 | 0.00 | -0.06 | — | 20:00 |
| 28 Elias Lindholm C | +0.59 | +0.75 | +0.09 | -0.37 | 0.00 | +0.11 | +0.01 | — | 19:34 |
| 20 Henri Jokiharju D | +0.47 | +0.55 | 0.00 | +0.06 | -0.15 | 0.00 | +0.01 | — | 16:10 |
| 18 Pavel Zacha C | +0.41 | +0.55 | +0.13 | -0.20 | 0.00 | -0.02 | -0.04 | — | 16:37 |
| 73 Charlie McAvoy D | +0.41 | +0.75 | +0.08 | -0.51 | +0.15 | 0.00 | -0.06 | — | 26:40 |
| 45 Jonathan Aspirot D | +0.11 | 0.00 | +0.01 | +0.09 | 0.00 | 0.00 | +0.01 | — | 14:58 |
| 75 Lukas Reichel L | +0.01 | 0.00 | +0.03 | -0.05 | 0.00 | 0.00 | +0.03 | — | 16:29 |
| 52 Sean Kuraly C | 0.00 | 0.00 | +0.01 | -0.07 | 0.00 | +0.06 | 0.00 | — | 9:46 |
| 84 Tanner Jeannot L | -0.11 | 0.00 | 0.00 | -0.26 | +0.15 | 0.00 | 0.00 | — | 6:41 |
| 71 Viktor Arvidsson L | -0.11 | 0.00 | +0.07 | -0.14 | 0.00 | 0.00 | -0.04 | — | 14:27 |
| 47 Mark Kastelic C | -0.26 | 0.00 | 0.00 | -0.57 | +0.30 | +0.01 | 0.00 | — | 8:31 |
| 91 Nikita Zadorov D | -0.30 | 0.00 | +0.10 | -0.21 | -0.22 | 0.00 | +0.03 | — | 15:05 |
| 93 Fraser Minten C | -0.34 | 0.00 | +0.06 | -0.45 | 0.00 | +0.05 | 0.00 | — | 19:09 |
| 92 Marat Khusnutdinov C | -0.42 | 0.00 | +0.14 | -0.56 | 0.00 | 0.00 | 0.00 | — | 13:08 |
| 6 Mason Lohrei D | -0.52 | 0.00 | +0.22 | -0.68 | 0.00 | 0.00 | -0.06 | — | 16:40 |
| 11 Casey Mittelstadt C | -0.90 | 0.00 | +0.04 | -0.62 | -0.30 | -0.01 | -0.02 | — | 14:26 |
| 27 Hampus Lindholm D | -0.99 | 0.00 | +0.09 | -1.13 | 0.00 | 0.00 | +0.05 | — | 21:27 |
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.