Boston BruinsBOS 1–3 Final San Jose SharksSJS

Sunday, November 23, 2025

Final 1st2nd3rd T SOG
Boston BruinsBOS 001 1 35
San Jose SharksSJS 111 3 31

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

Highlights

Scoring

1st Period
15:53 SJS Shakir Mukhamadullin (1) Mario Ferraro (5), Barclay Goodrow (2) · wrist xG 0.04 0–1 ▶
2nd Period
11:45 SJS Macklin Celebrini (14)PP Dmitry Orlov (13), Tyler Toffoli (7) · snap xG 0.08 0–2 ▶
3rd Period
10:02 BOS Morgan Geekie (17) David Pastrnak (18), Henri Jokiharju (5) · wrist xG 0.08 1–2 ▶
18:53 SJS Collin Graf (3)EN William Eklund (9), Macklin Celebrini (20) · wrist xG 0.37 1–3 ▶

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 54%Deserve to win46% SJS
BOSSJS
2.51Expected goals3.16
1Goals (no shootout)3
1.72Expected goals, 5 on 51.08
70Shot attempts50
54Unblocked attempts40
35Shots on goal31

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
9:14 BOS Deserve to win Deserve to win · BOS takes the lead, 60–40%
SJS had led since 1:47 of the 1st, by as much as 65%
3rd Period
15:00 BOS No shift No shift · Tufte, 15:03 on the bench
No shift after 2:21 of the 3rd; 10 shifts (8:01) before that
18:41 BOS Pulled goalie Pulled goalie · Pulled Swayman, down 2–1
With 1:19 left; SJS scored at 18:53 of the 3rd (1–3)
19:00 BOS Shortened bench Shortened bench · 2 forwards sat
Steeves and Kuraly: no shift after 8:24 of the 3rd

Shot map

BOS shoots ←Bigger circle: higher xG; filled: goal→ SJS shoots
William Eklund: backhand, 17 ft, xG 0.02 (P1 1:45) Will Smith: wrist, 8 ft, xG 0.22 (P1 1:47) Michael Eyssimont: wrist, 35 ft, xG 0.01 (P1 2:05) Michael Eyssimont: tip-in, 12 ft, xG 0.07 (P1 2:12) David Pastrnak: slap, 72 ft, xG 0.00 (P1 3:16) Morgan Geekie: wrist, 42 ft, xG 0.01 (P1 3:46) Will Smith: slap, 51 ft, xG 0.02 (P1 6:17) Collin Graf: wrist, 18 ft, xG 0.04 (P1 8:01) Adam Gaudette: snap, 30 ft, xG 0.11 (P1 8:13) Mark Kastelic: snap, 36 ft, xG 0.02 (P1 8:47) Jonathan Aspirot: wrist, 59 ft, xG 0.01 (P1 9:22) Alex Steeves: wrist, 28 ft, xG 0.06 (P1 10:13) David Pastrnak: wrist, 32 ft, xG 0.05 (P1 12:10) Mason Lohrei: wrist, 66 ft, xG 0.01 (P1 12:28) Nikita Zadorov: slap, 42 ft, xG 0.01 (P1 12:34) Mark Kastelic: wrist, 136 ft, xG 0.00 (P1 13:37) Macklin Celebrini: wrist, 41 ft, xG 0.05 (P1 13:58) Dmitry Orlov: wrist, 55 ft, xG 0.03 (P1 14:13) Philipp Kurashev: wrist, 34 ft, xG 0.06 (P1 15:02) Mario Ferraro: wrist, 46 ft, xG 0.02 (P1 15:45) Sam Dickinson: wrist, 58 ft, xG 0.03 (P1 16:50) Sam Dickinson: wrist, 132 ft, xG 0.00 (P1 17:29) William Eklund: backhand, 27 ft, xG 0.02 (P1 19:16) Timothy Liljegren: wrist, 59 ft, xG 0.00 (P2 0:16) Fraser Minten: wrist, 46 ft, xG 0.01 (P2 1:07) Nikita Zadorov: slap, 68 ft, xG 0.01 (P2 1:18) Mark Kastelic: slap, 6 ft, xG 0.04 (P2 1:31) Tanner Jeannot: slap, 11 ft, xG 0.04 (P2 1:32) Mark Kastelic: slap, 13 ft, xG 0.05 (P2 1:32) Marat Khusnutdinov: wrist, 24 ft, xG 0.12 (P2 1:56) Philipp Kurashev: slap, 39 ft, xG 0.05 (P2 2:22) Andrew Peeke: wrist, 52 ft, xG 0.01 (P2 3:55) Mario Ferraro: wrist, 54 ft, xG 0.01 (P2 4:50) Macklin Celebrini: tip-in, 9 ft, xG 0.10 (P2 4:56) David Pastrnak: snap, 35 ft, xG 0.05 (P2 5:09) Michael Eyssimont: wrist, 25 ft, xG 0.03 (P2 5:59) Morgan Geekie: slap, 38 ft, xG 0.08 (P2 6:35) David Pastrnak: wrist, 39 ft, xG 0.05 (P2 6:44) Morgan Geekie: wrist, 38 ft, xG 0.05 (P2 6:52) Morgan Geekie: slap, 23 ft, xG 0.09 (P2 7:29) Michael Eyssimont: wrist, 55 ft, xG 0.03 (P2 7:47) Riley Tufte: slap, 17 ft, xG 0.09 (P2 7:49) Henri Jokiharju: wrist, 31 ft, xG 0.06 (P2 8:08) Henri Jokiharju: wrist, 45 ft, xG 0.03 (P2 8:21) Riley Tufte: wrist, 64 ft, xG 0.01 (P2 8:42) Mark Kastelic: wrist, 43 ft, xG 0.02 (P2 8:46) Fraser Minten: wrist, 45 ft, xG 0.01 (P2 9:06) David Pastrnak: slap, 30 ft, xG 0.10 (P2 9:14) Hampus Lindholm: wrist, 54 ft, xG 0.01 (P2 9:27) Ryan Reaves: wrist, 50 ft, xG 0.00 (P2 10:19) Sean Kuraly: wrist, 11 ft, xG 0.07 (P2 10:41) Sean Kuraly: wrist, 7 ft, xG 0.04 (P2 10:42) Shakir Mukhamadullin: wrist, 56 ft, xG 0.01 (P2 13:30) Morgan Geekie: wrist, 39 ft, xG 0.02 (P2 16:30) Dmitry Orlov: wrist, 47 ft, xG 0.04 (P2 16:51) Will Smith: wrist, 42 ft, xG 0.06 (P2 17:01) Macklin Celebrini: wrist, 48 ft, xG 0.04 (P2 17:35) Macklin Celebrini: wrist, 32 ft, xG 0.08 (P2 18:05) Tyler Toffoli: wrist, 17 ft, xG 0.11 (P2 18:14) Will Smith: snap, 34 ft, xG 0.13 (P2 18:20) Will Smith: slap, 36 ft, xG 0.13 (P2 18:26) Morgan Geekie: slap, 60 ft, xG 0.02 (P2 18:50) Morgan Geekie: slap, 37 ft, xG 0.08 (P2 19:32) Hampus Lindholm: slap, 61 ft, xG 0.03 (P2 19:48) Pavel Zacha: slap, 8 ft, xG 0.15 (P2 19:50) Dmitry Orlov: wrist, 66 ft, xG 0.01 (P3 2:01) David Pastrnak: slap, 34 ft, xG 0.10 (P3 3:25) Barclay Goodrow: wrist, 49 ft, xG 0.01 (P3 4:19) Will Smith: wrist, 8 ft, xG 0.17 (P3 4:35) Will Smith: wrist, 47 ft, xG 0.02 (P3 4:51) Ty Dellandrea: slap, 59 ft, xG 0.03 (P3 5:22) Mario Ferraro: wrist, 60 ft, xG 0.01 (P3 5:51) Tyler Toffoli: wrist, 8 ft, xG 0.15 (P3 7:21) Alexander Wennberg: wrist, 7 ft, xG 0.16 (P3 7:28) Nikita Zadorov: wrist, 176 ft, xG 0.00 (P3 7:56) David Pastrnak: wrist, 24 ft, xG 0.02 (P3 9:05) Hampus Lindholm: wrist, 58 ft, xG 0.01 (P3 9:27) Pavel Zacha: wrist, 40 ft, xG 0.05 (P3 9:34) Macklin Celebrini: wrist, 30 ft, xG 0.02 (P3 10:46) Barclay Goodrow: wrist, 7 ft, xG 0.18 (P3 11:04) Pavel Zacha: wrist, 42 ft, xG 0.03 (P3 13:03) David Pastrnak: slap, 47 ft, xG 0.02 (P3 13:22) David Pastrnak: snap, 31 ft, xG 0.12 (P3 13:39) Barclay Goodrow: wrist, 30 ft, xG 0.04 (P3 13:49) David Pastrnak: wrist, 63 ft, xG 0.02 (P3 14:50) Henri Jokiharju: slap, 61 ft, xG 0.03 (P3 15:44) Mark Kastelic: tip-in, 7 ft, xG 0.09 (P3 16:01) Tanner Jeannot: wrist, 20 ft, xG 0.30 (P3 16:04) Michael Eyssimont: wrist, 67 ft, xG 0.00 (P3 16:25) William Eklund: wrist, 26 ft, xG 0.51 (P3 18:49) Shakir Mukhamadullin: GOAL, wrist, 37 ft, xG 0.04 (P1 15:53) Macklin Celebrini: GOAL, snap, 35 ft, xG 0.08 (P2 11:45) Morgan Geekie: GOAL, wrist, 18 ft, xG 0.08 (P3 10:02) Collin Graf: GOAL, wrist, 25 ft, xG 0.37 (P3 18:53)
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
88 David Pastrnak 011 0 120.54 1121:29
18 Pavel Zacha 000 -1 30.22 1121:11
39 Morgan Geekie 101 0 80.44 2116:08
92 Marat Khusnutdinov 000 -1 20.12 2016:01
28 Elias Lindholm 000 -1 10.00 1015:41
47 Mark Kastelic 000 0 80.22 4015:19
93 Fraser Minten 000 0 30.01 2014:07
84 Tanner Jeannot 000 0 40.34 2012:52
81 Michael Eyssimont 000 -1 50.14 0012:06
52 Sean Kuraly 000 0 30.11 1211:38
21 Alex Steeves 000 -1 30.06 1009:42
Defense
27 Hampus Lindholm 000 +1 40.05 1127:21
91 Nikita Zadorov 000 -2 30.03 2022:12
20 Andrew Peeke 000 0 10.01 4319:32
20 Henri Jokiharju 011 +1 40.11 1018:51
6 Mason Lohrei 000 0 20.01 1014:21
45 Jonathan Aspirot 000 -1 20.01 4013:14
Goalie SAGA SVSV% xGA GSAx
Jeremy Swayman 30228 .933 2.29 +0.29

San Jose Sharks

Skater GAP+/− AttxG HitBlkTOI
Forwards
71 Macklin Celebrini 112 +2 70.36 0119:32
21 Alexander Wennberg 000 0 20.16 0118:58
27 William Eklund 011 +1 30.54 0018:56
23 Barclay Goodrow 011 0 30.23 1217:31
51 Collin Graf 101 +1 20.41 0017:14
10 Ty Dellandrea 000 0 10.03 4116:36
2 Will Smith 000 0 90.74 0015:25
81 Adam Gaudette 000 0 30.11 0013:17
73 Tyler Toffoli 011 0 30.26 0013:09
96 Philipp Kurashev 000 0 20.11 2013:05
63 Zack Ostapchuk 000 -1 00.00 5112:05
75 Ryan Reaves 000 0 10.00 4008:01
Defense
38 Mario Ferraro 011 +1 40.04 0122:05
27 Timothy Liljegren 000 0 10.00 0019:54
73 Vincent Desharnais 000 +1 10.00 3219:18
9 Dmitry Orlov 011 0 30.08 2018:12
85 Shakir Mukhamadullin 101 0 30.05 0417:06
6 Sam Dickinson 000 0 20.03 2213:46
Goalie SAGA SVSV% xGA GSAx
Yaroslav Askarov 35134 .971 2.51 +1.51

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 +1.88 +0.70 +0.35 +0.87 0.00 0.00 -0.03 — 21:29
39 Morgan Geekie C +1.64 +0.75 +0.29 +0.42 +0.15 -0.02 +0.05 — 16:08
20 Henri Jokiharju D +1.36 +0.55 +0.07 +0.89 -0.15 0.00 0.00 — 18:51
27 Hampus Lindholm D +0.86 0.00 +0.04 +0.95 -0.15 0.00 +0.03 — 27:21
18 Pavel Zacha C +0.55 0.00 +0.14 +0.58 -0.15 -0.05 +0.03 — 21:11
84 Tanner Jeannot L +0.45 0.00 +0.22 +0.25 0.00 0.00 -0.02 — 12:52
47 Mark Kastelic C +0.41 0.00 +0.14 +0.23 0.00 +0.06 -0.02 — 15:19
91 Nikita Zadorov D +0.35 0.00 +0.02 +0.33 0.00 0.00 0.00 — 22:12
10 Riley Tufte L +0.33 0.00 +0.06 +0.27 0.00 0.00 0.00 — 8:01
52 Sean Kuraly C +0.30 0.00 +0.07 +0.16 0.00 -0.01 +0.08 — 11:38
1 Jeremy Swayman G +0.29 0.00 — — 0.00 — — +0.29 59:48
92 Marat Khusnutdinov C +0.17 0.00 +0.08 +0.11 0.00 -0.01 0.00 — 16:01
93 Fraser Minten C +0.03 0.00 +0.01 +0.01 0.00 +0.03 -0.02 — 14:07
26 Andrew Peeke D 0.00 0.00 0.00 -0.13 0.00 0.00 +0.13 — 19:32
28 Elias Lindholm C -0.07 0.00 0.00 -0.22 +0.15 0.00 0.00 — 15:41
81 Michael Eyssimont C -0.15 0.00 +0.09 -0.20 0.00 0.00 -0.04 — 12:06
45 Jonathan Aspirot D -0.23 0.00 0.00 +0.07 -0.30 0.00 0.00 — 13:14
21 Alex Steeves C -0.42 0.00 +0.04 -0.45 0.00 0.00 0.00 — 9:42
6 Mason Lohrei D -0.59 0.00 +0.01 -0.59 0.00 0.00 0.00 — 14:21

San Jose Sharks

Player Rating Points Shots On ice Pen FO Other GSAx TOI
71 Macklin Celebrini C +2.22 +1.30 +0.24 +0.55 +0.15 -0.05 +0.03 — 19:32
72 William Eklund L +1.60 +0.70 +0.35 +0.40 +0.15 0.00 0.00 — 18:56
30 Yaroslav Askarov G +1.51 0.00 — — 0.00 — — +1.51 59:50
2 Will Smith C +0.92 0.00 +0.48 +0.41 0.00 0.00 +0.02 — 15:25
85 Shakir Mukhamadullin D +0.63 +0.75 +0.03 -0.31 0.00 0.00 +0.16 — 17:06
51 Collin Graf R +0.62 +0.75 +0.26 -0.70 +0.30 0.00 0.00 — 17:14
73 Tyler Toffoli C +0.46 +0.55 +0.17 -0.22 0.00 0.00 -0.04 — 13:09
38 Mario Ferraro D +0.46 +0.70 +0.03 -0.32 0.00 0.00 +0.05 — 22:05
9 Dmitry Orlov D +0.29 +0.70 +0.05 -0.46 0.00 0.00 0.00 — 18:12
23 Barclay Goodrow C +0.24 +0.55 +0.15 -0.56 0.00 0.00 +0.10 — 17:31
6 Sam Dickinson D +0.20 0.00 +0.02 +0.10 0.00 0.00 +0.08 — 13:46
5 Vincent Desharnais D +0.17 0.00 0.00 +0.11 0.00 0.00 +0.06 — 19:18
75 Ryan Reaves R -0.16 0.00 0.00 -0.14 0.00 0.00 -0.02 — 8:01
96 Philipp Kurashev C -0.24 0.00 +0.07 -0.30 0.00 -0.02 0.00 — 13:05
81 Adam Gaudette R -0.26 0.00 +0.07 -0.18 -0.15 +0.01 -0.02 — 13:17
63 Zack Ostapchuk C -0.29 0.00 0.00 -0.28 0.00 -0.02 +0.01 — 12:05
21 Alexander Wennberg C -0.36 0.00 +0.11 -0.49 0.00 -0.02 +0.05 — 18:58
10 Ty Dellandrea C -0.42 0.00 +0.02 -0.60 0.00 +0.10 +0.07 — 16:36
37 Timothy Liljegren D -0.50 0.00 0.00 -0.52 0.00 0.00 +0.02 — 19:54

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.