Boston BruinsBOS 5–2 Final St. Louis BluesSTL

Tuesday, December 9, 2025

Final 1st2nd3rd T SOG
Boston BruinsBOS 023 5 31
St. Louis BluesSTL 101 2 26

No impact calculated for this game. Impacts are calculated for games in the next 7 days.

Highlights

Scoring

1st Period
5:27 STL Robert Thomas (5)PP Pavel Buchnevich (10), Justin Faulk (9) · slap xG 0.09 0–1 ▶
2nd Period
12:48 BOS Fraser Minten (5) Marat Khusnutdinov (4), David Pastrnak (19) · wrist xG 0.12 1–1 ▶
14:34 BOS Mark Kastelic (5) Sean Kuraly (5), Victor Soderstrom (1) · deflected xG 0.14 2–1 ▶
3rd Period
4:51 STL Robert Thomas (6) Pavel Buchnevich (11) · snap xG 0.38 2–2 ▶
8:01 BOS Mark Kastelic (6) Sean Kuraly (6), Nikita Zadorov (9) · wrist xG 0.38 3–2 ▶
11:33 BOS Fraser Minten (6) David Pastrnak (20), Andrew Peeke (5) · slap xG 0.13 4–2 ▶
18:19 BOS Pavel Zacha (8)EN Elias Lindholm (14), David Pastrnak (21) · wrist xG 0.87 5–2 ▶

Score away–home after each goal; season totals in parentheses.

Shot quality

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

BOS 64%Deserve to win36% STL
BOSSTL
4.94Expected goals2.49
5Goals (no shootout)2
2.82Expected goals, 5 on 52.01
73Shot attempts57
53Unblocked attempts36
31Shots on goal26

Game notes

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
12:48 BOS Deserve to win Deserve to win · BOS takes the lead, 62–38%
STL had led since 3:49 of the 1st, by as much as 71%
15:30 STL No shift No shift · Bjugstad, 32:25 on the bench
No shift after 5:24 of the 2nd; 11 shifts (7:31) before that
3rd Period
16:19 STL Pulled goalie Pulled goalie · Pulled Hofer, down 4–2
With 3:41 left; BOS scored at 18:19 of the 3rd (5–2)

Shot map

BOS shoots ←Bigger circle: higher xG; filled: goal→ STL shoots
Mathieu Joseph: snap, 17 ft, xG 0.16 (P1 0:12) Viktor Arvidsson: wrist, 42 ft, xG 0.05 (P1 0:47) Nikita Zadorov: wrist, 56 ft, xG 0.02 (P1 2:56) Nick Bjugstad: wrist, 27 ft, xG 0.13 (P1 3:49) Pius Suter: snap, 21 ft, xG 0.21 (P1 5:46) Hampus Lindholm: wrist, 38 ft, xG 0.03 (P1 6:49) Pavel Zacha: wrist, 8 ft, xG 0.11 (P1 6:56) Pavel Zacha: deflected, 7 ft, xG 0.04 (P1 6:57) Pavel Zacha: poke, 8 ft, xG 0.04 (P1 6:58) Dylan Holloway: wrist, 46 ft, xG 0.02 (P1 7:37) Brayden Schenn: wrist, 18 ft, xG 0.07 (P1 7:44) Jake Neighbours: tip-in, 8 ft, xG 0.15 (P1 8:56) Justin Faulk: wrist, 50 ft, xG 0.03 (P1 9:55) Sean Kuraly: wrist, 109 ft, xG 0.00 (P1 10:22) Alex Steeves: snap, 32 ft, xG 0.01 (P1 11:35) David Pastrnak: slap, 26 ft, xG 0.10 (P1 12:29) Elias Lindholm: tip-in, 27 ft, xG 0.07 (P1 12:58) Mathieu Joseph: wrist, 25 ft, xG 0.08 (P1 14:28) Andrew Peeke: slap, 64 ft, xG 0.02 (P1 14:52) Mark Kastelic: backhand, 9 ft, xG 0.03 (P1 14:53) Victor Soderstrom: snap, 44 ft, xG 0.03 (P1 15:49) Colton Parayko: wrist, 31 ft, xG 0.09 (P1 17:47) Matt Luff: backhand, 12 ft, xG 0.03 (P1 17:52) Matt Luff: backhand, 16 ft, xG 0.04 (P1 17:54) Pavel Zacha: backhand, 30 ft, xG 0.02 (P1 19:32) Elias Lindholm: wrist, 30 ft, xG 0.08 (P1 19:53) Morgan Geekie: snap, 33 ft, xG 0.13 (P2 0:30) Pavel Zacha: tip-in, 8 ft, xG 0.11 (P2 0:36) David Pastrnak: wrist, 47 ft, xG 0.02 (P2 0:59) Nikita Zadorov: snap, 40 ft, xG 0.06 (P2 1:55) Fraser Minten: snap, 28 ft, xG 0.08 (P2 1:59) Nick Bjugstad: wrist, 37 ft, xG 0.02 (P2 2:06) Sean Kuraly: wrist, 49 ft, xG 0.01 (P2 2:40) Mark Kastelic: wrist, 37 ft, xG 0.01 (P2 2:45) Mark Kastelic: tip-in, 8 ft, xG 0.08 (P2 2:56) Jonathan Aspirot: wrist, 51 ft, xG 0.03 (P2 3:47) Elias Lindholm: tip-in, 9 ft, xG 0.06 (P2 4:53) Alex Steeves: wrist, 33 ft, xG 0.06 (P2 4:56) Mason Lohrei: wrist, 37 ft, xG 0.06 (P2 5:05) Morgan Geekie: tip-in, 19 ft, xG 0.07 (P2 5:13) Mason Lohrei: wrist, 50 ft, xG 0.01 (P2 5:22) Pavel Buchnevich: slap, 26 ft, xG 0.12 (P2 6:24) David Pastrnak: poke, 11 ft, xG 0.11 (P2 8:03) Logan Mailloux: wrist, 59 ft, xG 0.02 (P2 8:20) Pavel Zacha: wrist, 33 ft, xG 0.05 (P2 9:57) Viktor Arvidsson: wrist, 40 ft, xG 0.01 (P2 10:06) David Pastrnak: wrap-around, 5 ft, xG 0.03 (P2 12:43) Marat Khusnutdinov: wrist, 9 ft, xG 0.06 (P2 12:44) Hampus Lindholm: wrist, 46 ft, xG 0.01 (P2 13:11) Marat Khusnutdinov: tip-in, 9 ft, xG 0.08 (P2 15:12) Dylan Holloway: wrist, 59 ft, xG 0.01 (P2 15:32) Alex Steeves: snap, 23 ft, xG 0.18 (P2 16:16) Philip Broberg: wrist, 38 ft, xG 0.06 (P2 17:31) Justin Faulk: snap, 31 ft, xG 0.11 (P2 18:56) Pavel Buchnevich: wrist, 37 ft, xG 0.02 (P2 19:23) Viktor Arvidsson: slap, 48 ft, xG 0.03 (P3 0:49) Colton Parayko: snap, 56 ft, xG 0.03 (P3 1:15) Justin Faulk: slap, 38 ft, xG 0.05 (P3 2:04) Andrew Peeke: wrist, 50 ft, xG 0.00 (P3 2:25) Pius Suter: wrist, 12 ft, xG 0.16 (P3 3:08) Dylan Holloway: wrist, 46 ft, xG 0.02 (P3 4:07) Fraser Minten: wrist, 9 ft, xG 0.26 (P3 4:26) David Pastrnak: snap, 33 ft, xG 0.12 (P3 4:30) Pius Suter: wrist, 18 ft, xG 0.06 (P3 5:16) Andrew Peeke: slap, 65 ft, xG 0.01 (P3 6:10) Dylan Holloway: wrist, 63 ft, xG 0.01 (P3 6:23) Aleksanteri Kaskimaki: wrist, 38 ft, xG 0.01 (P3 7:09) Aleksanteri Kaskimaki: wrist, 73 ft, xG 0.01 (P3 7:16) Mark Kastelic: tip-in, 7 ft, xG 0.10 (P3 7:58) Cam Fowler: slap, 61 ft, xG 0.02 (P3 9:12) Andrew Peeke: wrist, 62 ft, xG 0.01 (P3 11:15) Andrew Peeke: wrist, 58 ft, xG 0.01 (P3 11:28) Jake Neighbours: tip-in, 6 ft, xG 0.10 (P3 12:05) Aleksanteri Kaskimaki: wrist, 68 ft, xG 0.01 (P3 13:18) Viktor Arvidsson: backhand, 21 ft, xG 0.02 (P3 13:39) Pius Suter: wrist, 16 ft, xG 0.08 (P3 16:54) Pavel Buchnevich: wrist, 37 ft, xG 0.04 (P3 17:09) Nikita Zadorov: wrist, 168 ft, xG 0.18 (P3 17:21) David Pastrnak: wrist, 78 ft, xG 0.58 (P3 18:08) Logan Mailloux: wrist, 51 ft, xG 0.01 (P3 18:36) Logan Mailloux: snap, 65 ft, xG 0.01 (P3 19:21) Aleksanteri Kaskimaki: snap, 46 ft, xG 0.03 (P3 19:28) Robert Thomas: GOAL, slap, 36 ft, xG 0.09 (P1 5:27) Fraser Minten: GOAL, wrist, 6 ft, xG 0.12 (P2 12:48) Mark Kastelic: GOAL, deflected, 9 ft, xG 0.14 (P2 14:34) Robert Thomas: GOAL, snap, 11 ft, xG 0.38 (P3 4:51) Mark Kastelic: GOAL, wrist, 5 ft, xG 0.38 (P3 8:01) Fraser Minten: GOAL, slap, 33 ft, xG 0.13 (P3 11:33) Pavel Zacha: GOAL, wrist, 22 ft, xG 0.87 (P3 18:19)
About these numbers

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.

Box score

Boston Bruins

Skater GAP+/− AttxG HitBlkTOI
Forwards
52 Sean Kuraly 022 +2 30.01 0116:00
18 Pavel Zacha 101 +1 71.24 0015:55
39 Morgan Geekie 000 0 20.20 0015:54
93 Fraser Minten 202 +1 50.59 1115:51
88 David Pastrnak 033 +2 70.96 0115:36
84 Tanner Jeannot 000 +2 30.00 9015:00
47 Mark Kastelic 202 +2 90.73 3314:54
92 Marat Khusnutdinov 011 +1 20.14 0114:31
28 Elias Lindholm 011 +1 30.20 1114:29
11 Casey Mittelstadt 000 0 00.00 0013:24
21 Alex Steeves 000 0 60.25 7113:13
33 Viktor Arvidsson 000 0 60.12 0113:03
Defense
91 Nikita Zadorov 011 +3 30.26 3424:08
27 Hampus Lindholm 000 +2 40.05 0222:16
20 Andrew Peeke 011 +1 80.06 0220:06
6 Mason Lohrei 000 +1 20.07 1218:31
45 Jonathan Aspirot 000 0 10.03 1117:52
Goalie SAGA SVSV% xGA GSAx
Jeremy Swayman 26224 .923 2.49 +0.49

St. Louis Blues

Skater GAP+/− AttxG HitBlkTOI
Forwards
18 Robert Thomas 202 0 30.47 0020:56
81 Dylan Holloway 000 -3 50.06 6219:58
89 Pavel Buchnevich 022 0 40.18 1119:55
10 Brayden Schenn 000 -2 20.07 2018:11
63 Jake Neighbours 000 -1 40.25 4017:50
22 Pius Suter 000 -2 50.51 1017:29
21 Mathieu Joseph 000 +1 20.24 4014:07
70 Oskar Sundqvist 000 -3 00.00 1113:24
15 Dalibor Dvorsky 000 -1 10.00 2012:13
72 Nick Bjugstad 000 0 20.15 2207:31
Defense
72 Justin Faulk 011 -1 70.20 0324:17
55 Colton Parayko 000 -1 40.12 2423:05
6 Philip Broberg 000 0 20.06 0220:32
17 Cam Fowler 000 -2 20.02 0120:29
75 Tyler Tucker 000 -1 30.00 0117:55
23 Logan Mailloux 000 -2 50.03 2009:49
Goalie SAGA SVSV% xGA GSAx
Joel Hofer 30426 .867 3.30 -0.70

Skaters by time on ice. Goalie lines count shots with the goalie in net, from the NHL play-by-play.

Player ratings

What each player added to the result, in goals, from most to least. Hover a number for what it's made of.

Boston Bruins

Player Rating Points Shots On ice Pen FO Other GSAx TOI
88 David Pastrnak R +2.98 +1.80 +0.62 +0.51 0.00 0.00 +0.05 — 15:36
47 Mark Kastelic C +2.88 +1.50 +0.48 +0.70 0.00 +0.02 +0.19 — 14:54
93 Fraser Minten C +2.34 +1.50 +0.38 +0.46 0.00 -0.07 +0.07 — 15:51
52 Sean Kuraly C +2.14 +1.40 +0.01 +0.69 0.00 -0.01 +0.05 — 16:00
91 Nikita Zadorov D +1.77 +0.55 +0.17 +0.84 0.00 0.00 +0.22 — 24:08
18 Pavel Zacha C +1.43 +0.75 +0.81 +0.03 -0.15 -0.01 0.00 — 15:55
26 Andrew Peeke D +1.30 +0.55 +0.04 +0.61 0.00 0.00 +0.10 — 20:06
92 Marat Khusnutdinov C +1.16 +0.70 +0.09 +0.32 0.00 -0.02 +0.07 — 14:31
28 Elias Lindholm C +1.11 +0.70 +0.13 +0.24 0.00 -0.02 +0.05 — 14:29
29 Victor Soderstrom D +1.04 +0.55 +0.02 +0.49 0.00 0.00 -0.02 — 13:44
84 Tanner Jeannot L +0.63 0.00 0.00 +0.69 0.00 0.00 -0.06 — 15:00
27 Hampus Lindholm D +0.59 0.00 +0.03 +0.63 -0.15 0.00 +0.08 — 22:16
1 Jeremy Swayman G +0.49 0.00 — — 0.00 — — +0.49 60:00
39 Morgan Geekie C +0.44 0.00 +0.13 +0.15 +0.15 +0.03 -0.02 — 15:54
6 Mason Lohrei D +0.39 0.00 +0.04 +0.22 0.00 0.00 +0.12 — 18:31
71 Viktor Arvidsson L +0.36 0.00 +0.08 +0.10 +0.15 0.00 +0.03 — 13:03
21 Alex Steeves C +0.25 0.00 +0.17 +0.05 0.00 0.00 +0.03 — 13:13
45 Jonathan Aspirot D +0.06 0.00 +0.02 -0.01 0.00 0.00 +0.05 — 17:52
11 Casey Mittelstadt C -0.05 0.00 0.00 -0.02 0.00 -0.01 -0.02 — 13:24

St. Louis Blues

Player Rating Points Shots On ice Pen FO Other GSAx TOI
18 Robert Thomas C +2.06 +1.50 +0.31 +0.09 +0.15 +0.09 -0.08 — 20:56
89 Pavel Buchnevich L +1.91 +1.40 +0.12 +0.34 0.00 +0.01 +0.05 — 19:55
71 Mathieu Joseph R +1.02 0.00 +0.16 +0.89 0.00 0.00 -0.02 — 14:07
63 Jake Neighbours L +0.27 0.00 +0.16 +0.13 0.00 0.00 -0.02 — 17:50
72 Justin Faulk D +0.24 +0.55 +0.13 -0.57 0.00 0.00 +0.13 — 24:17
77 Nick Bjugstad C -0.05 0.00 +0.10 -0.27 0.00 +0.02 +0.10 — 7:31
17 Cam Fowler D -0.08 0.00 +0.01 -0.13 0.00 0.00 +0.03 — 20:29
55 Colton Parayko D -0.12 0.00 +0.08 -0.40 0.00 0.00 +0.20 — 23:05
39 Matt Luff R -0.16 0.00 +0.05 -0.33 0.00 0.00 +0.12 — 7:44
75 Tyler Tucker D -0.29 0.00 0.00 -0.34 0.00 0.00 +0.05 — 17:55
22 Pius Suter C -0.44 0.00 +0.33 -0.71 0.00 -0.06 0.00 — 17:29
54 Dalibor Dvorsky R -0.50 0.00 0.00 -0.50 0.00 +0.02 -0.02 — 12:13
6 Philip Broberg D -0.59 0.00 +0.04 -0.71 0.00 0.00 +0.08 — 20:32
70 Oskar Sundqvist C -0.61 0.00 0.00 -0.66 0.00 0.00 +0.05 — 13:24
23 Logan Mailloux D -0.67 0.00 +0.02 -0.53 -0.15 0.00 -0.02 — 9:49
30 Joel Hofer G -0.70 0.00 — — 0.00 — — -0.70 58:00
65 Aleksanteri Kaskimaki C -0.80 0.00 +0.04 -0.88 0.00 -0.01 +0.05 — 10:35
81 Dylan Holloway L -0.90 0.00 +0.04 -1.02 0.00 0.00 +0.08 — 19:58
10 Brayden Schenn C -1.09 0.00 +0.05 -1.15 0.00 +0.02 0.00 — 18:11

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.