Boston BruinsBOS 3–4 Final Anaheim DucksANA

Wednesday, November 19, 2025

Final 1st2nd3rd T SOG
Boston BruinsBOS 111 3 39
Anaheim DucksANA 211 4 33

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

Highlights

Scoring

1st Period
2:29 ANA Jansen Harkins (2) Ross Johnston (4), Nikita Nesterenko (7) · wrist xG 0.26 0–1 ▶
6:29 ANA Radko Gudas (1) Mason McTavish (9), Beckett Sennecke (8) · slap xG 0.03 0–2 ▶
14:58 BOS Morgan Geekie (13)PP Hampus Lindholm (5), Pavel Zacha (12) · tip-in xG 0.12 1–2 ▶
2nd Period
13:47 ANA Ryan Strome (1)PP Mason McTavish (10), Cutter Gauthier (11) · tip-in xG 0.10 1–3 ▶
18:27 BOS Michael Eyssimont (5) Nikita Zadorov (5) · wrist xG 0.09 2–3 ▶
3rd Period
7:39 BOS Morgan Geekie (14)PP David Pastrnak (16), Hampus Lindholm (6) · tip-in xG 0.09 3–3 ▶
16:25 ANA Ian Moore (2) Leo Carlsson (16), Troy Terry (16) · slap xG 0.05 3–4 ▶

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 61%Deserve to win39% ANA
BOSANA
3.71Expected goals3.18
3Goals (no shootout)4
2.89Expected goals, 5 on 52.35
73Shot attempts69
53Unblocked attempts46
39Shots on goal33

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).

1st Period
11:45 BOS Deserve to win Deserve to win · BOS takes the lead, 61–39%
ANA had led since 2:29 of the 1st, by as much as 67%
3rd Period
17:40 ANA Shortened bench Shortened bench · 2 forwards sat
Johnston and Nesterenko: no shift after 7:31 of the 3rd
18:32 BOS Pulled goalie Pulled goalie · Pulled Korpisalo, down 4–3
With 1:28 left

Shot map

BOS shoots ←Bigger circle: higher xG; filled: goal→ ANA shoots
David Pastrnak: wrist, 36 ft, xG 0.05 (P1 0:53) Nikita Zadorov: slap, 60 ft, xG 0.03 (P1 1:00) Jackson LaCombe: snap, 63 ft, xG 0.01 (P1 1:46) Ross Johnston: wrist, 15 ft, xG 0.05 (P1 2:27) Radko Gudas: wrist, 63 ft, xG 0.02 (P1 2:55) Ryan Strome: wrist, 13 ft, xG 0.15 (P1 4:02) David Pastrnak: wrist, 39 ft, xG 0.03 (P1 4:20) Nikita Zadorov: wrist, 37 ft, xG 0.06 (P1 4:52) Alex Steeves: slap, 35 ft, xG 0.09 (P1 4:55) Jeffrey Viel: tip-in, 17 ft, xG 0.05 (P1 5:16) Michael Eyssimont: wrist, 22 ft, xG 0.14 (P1 5:21) Andrew Peeke: wrist, 60 ft, xG 0.01 (P1 5:24) Frank Vatrano: snap, 30 ft, xG 0.02 (P1 6:53) Alex Killorn: poke, 14 ft, xG 0.03 (P1 7:07) Matěj Blümel: snap, 24 ft, xG 0.19 (P1 8:08) Jeffrey Viel: wrist, 24 ft, xG 0.09 (P1 8:33) Mark Kastelic: snap, 26 ft, xG 0.10 (P1 9:19) Alex Killorn: tip-in, 9 ft, xG 0.07 (P1 9:34) Marat Khusnutdinov: snap, 35 ft, xG 0.10 (P1 10:13) Jackson LaCombe: snap, 46 ft, xG 0.05 (P1 10:56) Tanner Jeannot: snap, 30 ft, xG 0.14 (P1 11:45) Cutter Gauthier: wrist, 19 ft, xG 0.12 (P1 12:28) Alex Steeves: wrist, 47 ft, xG 0.01 (P1 12:53) Pavel Zacha: snap, 39 ft, xG 0.06 (P1 13:22) Jeffrey Viel: tip-in, 86 ft, xG 0.00 (P1 13:50) David Pastrnak: slap, 32 ft, xG 0.13 (P1 14:44) Radko Gudas: wrist, 61 ft, xG 0.01 (P1 15:20) Jacob Trouba: wrist, 59 ft, xG 0.02 (P1 15:56) Nikita Nesterenko: snap, 51 ft, xG 0.01 (P1 16:24) Marat Khusnutdinov: tip-in, 11 ft, xG 0.03 (P1 17:57) Pavel Zacha: slap, 40 ft, xG 0.07 (P1 18:15) Nikita Zadorov: snap, 13 ft, xG 0.21 (P1 19:20) Jeffrey Viel: slap, 161 ft, xG 0.00 (P1 19:50) Jacob Trouba: snap, 72 ft, xG 0.00 (P2 0:10) Mason Lohrei: wrist, 31 ft, xG 0.02 (P2 2:05) Michael Eyssimont: wrap-around, 6 ft, xG 0.03 (P2 2:21) Mark Kastelic: snap, 16 ft, xG 0.29 (P2 3:15) Nikita Zadorov: wrist, 170 ft, xG 0.00 (P2 4:10) Jonathan Aspirot: backhand, 144 ft, xG 0.00 (P2 4:23) Jeffrey Viel: tip-in, 19 ft, xG 0.06 (P2 4:31) Sean Kuraly: wrist, 55 ft, xG 0.01 (P2 5:04) Matěj Blümel: wrist, 26 ft, xG 0.05 (P2 6:24) Nikita Zadorov: slap, 62 ft, xG 0.03 (P2 6:30) Matěj Blümel: wrist, 33 ft, xG 0.02 (P2 6:50) Tanner Jeannot: wrist, 22 ft, xG 0.04 (P2 7:21) Ian Moore: wrist, 60 ft, xG 0.02 (P2 8:21) Ian Moore: snap, 30 ft, xG 0.11 (P2 8:51) Jackson LaCombe: snap, 27 ft, xG 0.04 (P2 9:57) Fraser Minten: slap, 41 ft, xG 0.06 (P2 10:45) Troy Terry: backhand, 7 ft, xG 0.03 (P2 10:54) Tanner Jeannot: wrist, 38 ft, xG 0.02 (P2 11:11) Andrew Peeke: wrist, 40 ft, xG 0.01 (P2 11:24) Leo Carlsson: snap, 16 ft, xG 0.17 (P2 12:09) David Pastrnak: deflected, 86 ft, xG 0.00 (P2 14:34) Cutter Gauthier: snap, 38 ft, xG 0.01 (P2 15:24) Fraser Minten: backhand, 7 ft, xG 0.18 (P2 16:13) Ryan Strome: wrist, 21 ft, xG 0.08 (P2 17:09) Jeffrey Viel: wrap-around, 5 ft, xG 0.03 (P2 18:44) Chris Kreider: wrist, 22 ft, xG 0.14 (P2 19:07) Beckett Sennecke: snap, 19 ft, xG 0.07 (P2 19:23) Hampus Lindholm: wrist, 57 ft, xG 0.01 (P3 0:08) Jacob Trouba: snap, 51 ft, xG 0.03 (P3 0:49) Troy Terry: wrist, 53 ft, xG 0.02 (P3 1:19) Chris Kreider: wrist, 44 ft, xG 0.01 (P3 1:29) Cutter Gauthier: slap, 40 ft, xG 0.07 (P3 2:56) Troy Terry: wrist, 13 ft, xG 0.16 (P3 3:29) Troy Terry: wrist, 36 ft, xG 0.03 (P3 4:24) Frank Vatrano: wrist, 48 ft, xG 0.01 (P3 4:40) Michael Eyssimont: snap, 39 ft, xG 0.06 (P3 5:11) Nikita Zadorov: slap, 29 ft, xG 0.12 (P3 5:18) Mark Kastelic: snap, 22 ft, xG 0.02 (P3 5:33) Jackson LaCombe: slap, 69 ft, xG 0.01 (P3 8:08) Beckett Sennecke: backhand, 21 ft, xG 0.07 (P3 8:17) Mason McTavish: tip-in, 9 ft, xG 0.11 (P3 8:35) Morgan Geekie: snap, 18 ft, xG 0.17 (P3 10:48) Mason McTavish: wrist, 8 ft, xG 0.29 (P3 11:12) Chris Kreider: tip-in, 12 ft, xG 0.09 (P3 11:49) Radko Gudas: slap, 45 ft, xG 0.06 (P3 11:52) Frank Vatrano: backhand, 15 ft, xG 0.03 (P3 12:28) Ryan Strome: slap, 34 ft, xG 0.12 (P3 12:28) Frank Vatrano: snap, 17 ft, xG 0.18 (P3 12:57) Cutter Gauthier: wrist, 85 ft, xG 0.00 (P3 13:31) Cutter Gauthier: backhand, 10 ft, xG 0.03 (P3 15:35) Nikita Zadorov: backhand, 21 ft, xG 0.01 (P3 16:58) Nikita Zadorov: wrist, 42 ft, xG 0.04 (P3 17:05) Leo Carlsson: snap, 40 ft, xG 0.02 (P3 17:32) Mark Kastelic: backhand, 11 ft, xG 0.03 (P3 18:24) Mark Kastelic: tip-in, 5 ft, xG 0.14 (P3 18:30) David Pastrnak: wrist, 25 ft, xG 0.12 (P3 18:51) Hampus Lindholm: snap, 52 ft, xG 0.05 (P3 19:22) Marat Khusnutdinov: slap, 32 ft, xG 0.18 (P3 19:45) Frank Vatrano: slap, 65 ft, xG 0.15 (P3 19:47) Jansen Harkins: GOAL, wrist, 9 ft, xG 0.26 (P1 2:29) Radko Gudas: GOAL, slap, 62 ft, xG 0.03 (P1 6:29) Morgan Geekie: GOAL, tip-in, 8 ft, xG 0.12 (P1 14:58) Ryan Strome: GOAL, tip-in, 10 ft, xG 0.10 (P2 13:47) Michael Eyssimont: GOAL, wrist, 27 ft, xG 0.09 (P2 18:27) Morgan Geekie: GOAL, tip-in, 25 ft, xG 0.09 (P3 7:39) Ian Moore: GOAL, slap, 47 ft, xG 0.05 (P3 16:25)
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 -1 70.34 1020:09
39 Morgan Geekie 202 0 30.37 7018:23
93 Fraser Minten 000 -1 40.24 4117:00
47 Mark Kastelic 000 -1 70.58 6015:57
84 Tanner Jeannot 000 -1 30.20 2015:50
52 Sean Kuraly 000 0 20.01 1215:48
18 Pavel Zacha 011 -1 20.14 0015:02
92 Marat Khusnutdinov 000 0 40.30 2214:27
81 Michael Eyssimont 101 +1 40.32 1012:51
21 Alex Steeves 000 -2 20.10 6510:25
25 Jeffrey Viel 000 +1 60.24 1108:45
Defense
27 Hampus Lindholm 022 -3 40.06 0122:01
91 Nikita Zadorov 011 +1 90.50 2121:33
20 Andrew Peeke 000 0 40.02 1221:10
45 Jonathan Aspirot 000 +1 20.00 3319:48
6 Mason Lohrei 000 0 40.02 0118:46
20 Henri Jokiharju 000 -3 20.00 0114:38
Goalie SAGA SVSV% xGA GSAx
Joonas Korpisalo 33429 .879 3.03 -0.97

Anaheim Ducks

Skater GAP+/− AttxG HitBlkTOI
Forwards
17 Alex Killorn 000 0 40.10 1219:26
91 Leo Carlsson 011 +1 20.20 0119:12
19 Troy Terry 011 +1 60.24 0119:04
61 Cutter Gauthier 011 +1 60.24 0018:33
22 Ryan Strome 101 0 40.46 0117:59
45 Beckett Sennecke 011 +1 20.14 0017:55
83 Mason McTavish 022 +1 50.40 0017:27
22 Chris Kreider 000 +1 40.24 0017:26
77 Frank Vatrano 000 0 70.39 4114:22
10 Jansen Harkins 101 0 30.26 4408:01
13 Nikita Nesterenko 011 0 20.01 1008:00
49 Ross Johnston 011 0 10.05 1007:50
Defense
2 Jackson LaCombe 000 0 50.12 0125:11
14 Drew Helleson 000 0 30.00 0320:29
65 Jacob Trouba 000 0 50.06 0019:44
8 Olen Zellweger 000 -1 10.00 0119:12
6 Radko Gudas 101 +3 50.11 5115:11
3 Ian Moore 101 +2 40.17 0214:12
Goalie SAGA SVSV% xGA GSAx
Lukas Dostal 39336 .923 3.71 +0.71

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
91 Nikita Zadorov D +1.62 +0.70 +0.33 +0.53 0.00 0.00 +0.07 — 21:33
39 Morgan Geekie C +1.49 +1.50 +0.24 -0.26 0.00 +0.01 0.00 — 18:23
81 Michael Eyssimont C +1.28 +0.75 +0.21 +0.35 0.00 0.00 -0.02 — 12:51
27 Hampus Lindholm D +1.17 +1.25 +0.04 -0.15 0.00 0.00 +0.03 — 22:01
93 Fraser Minten C +0.71 0.00 +0.15 +0.33 +0.15 +0.01 +0.07 — 17:00
18 Pavel Zacha C +0.69 +0.55 +0.09 +0.22 -0.15 0.00 -0.02 — 15:02
88 David Pastrnak R +0.66 +0.70 +0.22 -0.32 +0.15 0.00 -0.08 — 20:09
48 Jeffrey Viel L +0.63 0.00 +0.16 +0.57 -0.15 0.00 +0.05 — 8:45
47 Mark Kastelic C +0.58 0.00 +0.38 +0.20 0.00 0.00 0.00 — 15:57
13 Matěj Blümel R +0.55 0.00 +0.17 +0.33 0.00 0.00 +0.05 — 12:57
52 Sean Kuraly C +0.38 0.00 +0.01 +0.25 0.00 +0.04 +0.08 — 15:48
45 Jonathan Aspirot D +0.31 0.00 0.00 +0.20 0.00 0.00 +0.11 — 19:48
84 Tanner Jeannot L +0.27 0.00 +0.13 +0.14 0.00 0.00 0.00 — 15:50
26 Andrew Peeke D +0.08 0.00 +0.01 +0.01 0.00 0.00 +0.06 — 21:10
92 Marat Khusnutdinov C +0.02 0.00 +0.20 -0.28 0.00 +0.02 +0.08 — 14:27
6 Mason Lohrei D -0.09 0.00 +0.01 +0.04 -0.15 0.00 +0.01 — 18:46
21 Alex Steeves C -0.11 0.00 +0.06 -0.42 0.00 -0.01 +0.25 — 10:25
20 Henri Jokiharju D -0.21 0.00 0.00 -0.26 0.00 0.00 +0.05 — 14:38
70 Joonas Korpisalo G -0.97 0.00 — — 0.00 — — -0.97 58:32

Anaheim Ducks

Player Rating Points Shots On ice Pen FO Other GSAx TOI
7 Radko Gudas D +1.50 +0.75 +0.07 +0.50 +0.15 0.00 +0.03 — 15:11
16 Ryan Strome C +1.47 +0.75 +0.30 +0.40 0.00 -0.03 +0.05 — 17:59
23 Mason McTavish C +1.39 +1.40 +0.26 -0.23 0.00 -0.04 0.00 — 17:27
74 Ian Moore D +1.05 +0.75 +0.11 +0.11 0.00 0.00 +0.08 — 14:12
91 Leo Carlsson C +0.72 +0.70 +0.13 -0.12 0.00 0.00 +0.01 — 19:12
1 Lukas Dostal G +0.71 0.00 — — 0.00 — — +0.71 59:57
77 Frank Vatrano R +0.70 0.00 +0.25 +0.40 0.00 0.00 +0.05 — 14:22
19 Troy Terry R +0.63 +0.55 +0.15 -0.10 0.00 0.00 +0.03 — 19:04
24 Jansen Harkins C +0.61 +0.75 +0.17 -0.34 -0.15 +0.01 +0.18 — 8:01
17 Alex Killorn L +0.60 0.00 +0.06 +0.35 +0.15 0.00 +0.04 — 19:26
2 Jackson LaCombe D +0.59 0.00 +0.08 +0.44 0.00 0.00 +0.07 — 25:11
13 Nikita Nesterenko C +0.49 +0.55 +0.01 -0.05 0.00 0.00 -0.02 — 8:00
61 Cutter Gauthier L +0.44 +0.55 +0.15 -0.39 +0.15 -0.01 -0.02 — 18:33
44 Ross Johnston L +0.39 +0.70 +0.03 -0.35 0.00 0.00 0.00 — 7:50
20 Chris Kreider L +0.20 0.00 +0.15 +0.05 0.00 0.00 0.00 — 17:26
45 Beckett Sennecke R +0.14 +0.55 +0.09 -0.50 0.00 0.00 0.00 — 17:55
14 Drew Helleson D +0.14 0.00 0.00 +0.16 -0.15 0.00 +0.13 — 20:29
65 Jacob Trouba D -0.76 0.00 +0.04 -0.76 0.00 0.00 -0.04 — 19:44
51 Olen Zellweger D -0.99 0.00 0.00 -1.04 0.00 0.00 +0.05 — 19:12

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.