Buffalo SabresBUF 3–4 Final/OT Boston BruinsBOS

Thursday, October 30, 2025

Final/OT 1st2nd3rdOT T SOG
Buffalo SabresBUF 0120 3 40
Boston BruinsBOS 2101 4 22

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

Highlights

Scoring

1st Period
13:07 BOS Morgan Geekie (9)PP David Pastrnak (10), Pavel Zacha (9) · snap xG 0.15 0–1 ▶
15:07 BOS David Pastrnak (7) Unassisted · wrist xG 0.11 0–2 ▶
2nd Period
16:01 BUF Rasmus Dahlin (1)PP Zach Benson (8), Tage Thompson (5) · slap xG 0.05 1–2 ▶
19:39 BOS Mark Kastelic (3) Tanner Jeannot (3), Sean Kuraly (3) · poke xG 0.57 1–3 ▶
3rd Period
7:00 BUF Josh Doan (4) Alex Tuch (7), Owen Power (3) · bat xG 0.39 2–3 ▶
14:25 BUF Alex Tuch (4) Rasmus Dahlin (8) · wrist xG 0.12 3–3 ▶
Overtime
2:07 BOS Marat Khusnutdinov (1) Fraser Minten (2) · snap xG 0.26 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

BUF 71%Deserve to win29% BOS
BUFBOS
4.15Expected goals2.78
3Goals (no shootout)4
2.99Expected goals, 5 on 51.63
69Shot attempts59
61Unblocked attempts40
40Shots on goal22

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
15:23 BOS Goalie Goalie · Korpisalo +2.0 goals saved
0 goals on 2.03 xG, 20 shots on goal
3rd Period
2:50 BOS No shift No shift · Lindholm, 23:29 on the bench
No shift after 7:20 of the 2nd; 11 shifts (9:37) before that
12:10 BUF No shift No shift · Malenstyn, 11:53 on the bench
No shift from the end of the 2nd to 13:55 of the 3rd; 13 shifts (10:10) before that

Shot map

BUF shoots ←Bigger circle: higher xG; filled: goal→ BOS shoots
Bowen Byram: wrist, 61 ft, xG 0.02 (P1 1:19) Owen Power: snap, 36 ft, xG 0.01 (P1 1:24) Alex Tuch: snap, 12 ft, xG 0.03 (P1 1:26) Jason Zucker: snap, 61 ft, xG 0.02 (P1 2:17) Jason Zucker: backhand, 6 ft, xG 0.14 (P1 2:30) Zach Benson: snap, 21 ft, xG 0.15 (P1 3:36) Josh Doan: snap, 17 ft, xG 0.26 (P1 4:06) Charlie McAvoy: slap, 69 ft, xG 0.01 (P1 5:24) Peyton Krebs: tip-in, 20 ft, xG 0.05 (P1 5:58) Elias Lindholm: tip-in, 19 ft, xG 0.08 (P1 6:40) Jason Zucker: wrist, 8 ft, xG 0.15 (P1 8:22) Tage Thompson: snap, 50 ft, xG 0.03 (P1 8:27) Tage Thompson: snap, 47 ft, xG 0.02 (P1 8:32) Rasmus Dahlin: wrist, 66 ft, xG 0.00 (P1 9:03) Morgan Geekie: wrist, 8 ft, xG 0.15 (P1 9:40) Tage Thompson: wrap-around, 6 ft, xG 0.03 (P1 10:48) Tage Thompson: wrist, 6 ft, xG 0.07 (P1 10:49) Tage Thompson: wrist, 6 ft, xG 0.06 (P1 10:49) Hampus Lindholm: wrist, 62 ft, xG 0.02 (P1 11:42) Pavel Zacha: backhand, 9 ft, xG 0.12 (P1 12:38) Elias Lindholm: wrist, 5 ft, xG 0.10 (P1 12:47) Andrew Peeke: wrist, 68 ft, xG 0.00 (P1 14:24) Peyton Krebs: snap, 36 ft, xG 0.03 (P1 14:32) David Pastrnak: wrist, 21 ft, xG 0.10 (P1 16:56) David Pastrnak: backhand, 17 ft, xG 0.10 (P1 17:21) Jiri Kulich: snap, 37 ft, xG 0.03 (P1 19:41) Alex Tuch: wrist, 9 ft, xG 0.04 (P1 19:42) Marat Khusnutdinov: tip-in, 94 ft, xG 0.00 (P2 0:07) Alex Tuch: deflected, 8 ft, xG 0.09 (P2 0:49) Tage Thompson: wrist, 16 ft, xG 0.11 (P2 2:04) Tage Thompson: snap, 44 ft, xG 0.02 (P2 2:25) Jason Zucker: wrist, 6 ft, xG 0.18 (P2 2:33) Rasmus Dahlin: snap, 47 ft, xG 0.05 (P2 2:41) Henri Jokiharju: slap, 70 ft, xG 0.00 (P2 3:19) Hampus Lindholm: wrist, 45 ft, xG 0.01 (P2 3:45) Hampus Lindholm: wrist, 29 ft, xG 0.02 (P2 3:51) Fraser Minten: wrist, 32 ft, xG 0.03 (P2 4:36) Rasmus Dahlin: snap, 19 ft, xG 0.12 (P2 4:57) Rasmus Dahlin: snap, 45 ft, xG 0.02 (P2 5:12) Fraser Minten: wrist, 48 ft, xG 0.00 (P2 7:24) Casey Mittelstadt: wrist, 34 ft, xG 0.05 (P2 8:38) Jack Quinn: snap, 41 ft, xG 0.06 (P2 9:24) Conor Timmins: snap, 64 ft, xG 0.01 (P2 10:29) Beck Malenstyn: backhand, 6 ft, xG 0.01 (P2 10:30) Beck Malenstyn: wrist, 28 ft, xG 0.07 (P2 10:41) David Pastrnak: snap, 82 ft, xG 0.00 (P2 10:48) Hampus Lindholm: snap, 37 ft, xG 0.10 (P2 11:09) Henri Jokiharju: wrist, 44 ft, xG 0.02 (P2 13:20) Jason Zucker: wrist, 8 ft, xG 0.16 (P2 15:23) Jason Zucker: wrist, 6 ft, xG 0.07 (P2 15:24) Josh Doan: poke, 4 ft, xG 0.13 (P2 15:24) Rasmus Dahlin: snap, 61 ft, xG 0.02 (P2 15:39) Zach Benson: snap, 33 ft, xG 0.08 (P2 15:46) Jordan Greenway: snap, 33 ft, xG 0.01 (P2 16:05) Michael Kesselring: slap, 65 ft, xG 0.02 (P2 16:13) Casey Mittelstadt: wrist, 39 ft, xG 0.03 (P2 17:01) Charlie McAvoy: slap, 67 ft, xG 0.00 (P2 17:11) Alex Tuch: tip-in, 12 ft, xG 0.09 (P2 18:37) Michael Kesselring: wrist, 19 ft, xG 0.12 (P2 18:45) Bowen Byram: snap, 33 ft, xG 0.04 (P2 19:00) Owen Power: slap, 60 ft, xG 0.03 (P2 19:08) Jason Zucker: snap, 27 ft, xG 0.10 (P2 19:12) Jordan Greenway: snap, 20 ft, xG 0.07 (P2 19:13) Sean Kuraly: wrist, 38 ft, xG 0.01 (P2 19:36) Tanner Jeannot: wrist, 10 ft, xG 0.02 (P2 19:37) Mattias Samuelsson: snap, 19 ft, xG 0.16 (P2 19:56) Tage Thompson: snap, 49 ft, xG 0.04 (P3 1:16) Bowen Byram: snap, 35 ft, xG 0.09 (P3 2:02) Owen Power: wrist, 37 ft, xG 0.02 (P3 2:10) Owen Power: snap, 17 ft, xG 0.01 (P3 2:11) Josh Dunne: snap, 28 ft, xG 0.09 (P3 3:12) Jordan Greenway: wrist, 19 ft, xG 0.06 (P3 3:15) Henri Jokiharju: snap, 27 ft, xG 0.04 (P3 4:15) Conor Timmins: snap, 53 ft, xG 0.01 (P3 4:33) Tanner Jeannot: tip-in, 8 ft, xG 0.07 (P3 5:32) Josh Doan: tip-in, 18 ft, xG 0.06 (P3 6:42) Alex Tuch: wrist, 49 ft, xG 0.01 (P3 6:56) Michael Eyssimont: snap, 46 ft, xG 0.01 (P3 7:06) Jonathan Aspirot: snap, 35 ft, xG 0.08 (P3 7:15) Jordan Greenway: snap, 46 ft, xG 0.03 (P3 9:39) David Pastrnak: wrist, 100 ft, xG 0.00 (P3 10:02) Josh Doan: snap, 47 ft, xG 0.01 (P3 10:58) Pavel Zacha: wrist, 35 ft, xG 0.08 (P3 11:28) Jordan Greenway: tip-in, 8 ft, xG 0.06 (P3 12:18) Michael Kesselring: snap, 61 ft, xG 0.03 (P3 13:01) Viktor Arvidsson: wrist, 43 ft, xG 0.03 (P3 13:53) Mark Kastelic: wrist, 32 ft, xG 0.05 (P3 14:40) Jason Zucker: snap, 38 ft, xG 0.07 (P3 15:38) Ryan McLeod: wrist, 53 ft, xG 0.01 (P3 17:27) Viktor Arvidsson: wrist, 48 ft, xG 0.01 (P3 18:05) Viktor Arvidsson: tip-in, 7 ft, xG 0.12 (P3 19:01) Pavel Zacha: tip-in, 14 ft, xG 0.06 (OT 0:18) Nikita Zadorov: snap, 37 ft, xG 0.08 (OT 1:16) Hampus Lindholm: wrist, 30 ft, xG 0.07 (OT 1:33) Morgan Geekie: GOAL, snap, 25 ft, xG 0.15 (P1 13:07) David Pastrnak: GOAL, wrist, 28 ft, xG 0.11 (P1 15:07) Rasmus Dahlin: GOAL, slap, 49 ft, xG 0.05 (P2 16:01) Mark Kastelic: GOAL, poke, 3 ft, xG 0.57 (P2 19:39) Josh Doan: GOAL, bat, 5 ft, xG 0.39 (P3 7:00) Alex Tuch: GOAL, wrist, 18 ft, xG 0.12 (P3 14:25) Marat Khusnutdinov: GOAL, snap, 28 ft, xG 0.26 (OT 2:07)
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

Buffalo Sabres

Skater GAP+/− AttxG HitBlkTOI
Forwards
72 Tage Thompson 011 -1 90.38 1019:51
89 Alex Tuch 112 +1 60.38 1019:19
20 Jiri Kulich 000 0 20.03 1018:05
91 Josh Doan 101 +1 60.85 0116:38
6 Zach Benson 011 0 20.23 0116:18
17 Jason Zucker 000 -1 80.89 2015:28
12 Jordan Greenway 000 -1 50.23 3015:22
71 Ryan McLeod 000 +1 20.01 0014:44
22 Jack Quinn 000 -2 10.06 1114:36
19 Peyton Krebs 000 0 20.08 3111:33
29 Beck Malenstyn 000 0 20.08 6211:31
44 Josh Dunne 000 0 10.09 0009:01
Defense
26 Rasmus Dahlin 112 0 70.26 1325:49
23 Mattias Samuelsson 000 0 30.16 1323:49
24 Bowen Byram 000 0 30.15 2419:50
25 Owen Power 011 0 40.07 1118:02
21 Conor Timmins 000 0 30.02 1015:56
7 Michael Kesselring 000 -1 30.16 1214:50
Goalie SAGA SVSV% xGA GSAx
Alex Lyon 22418 .818 2.78 -1.22

Boston Bruins

Skater GAP+/− AttxG HitBlkTOI
Forwards
88 David Pastrnak 112 +1 110.31 1120:17
39 Morgan Geekie 101 -1 30.30 1118:32
18 Pavel Zacha 011 -1 30.27 0017:22
33 Viktor Arvidsson 000 -1 40.15 0015:44
84 Tanner Jeannot 011 0 30.08 0115:21
92 Marat Khusnutdinov 101 +2 30.26 0015:20
93 Fraser Minten 011 0 30.03 0115:15
52 Sean Kuraly 011 +1 10.01 1014:29
11 Casey Mittelstadt 000 -1 20.08 0013:15
47 Mark Kastelic 101 +1 20.63 1012:37
81 Michael Eyssimont 000 0 10.01 1012:27
28 Elias Lindholm 000 +1 20.18 0009:37
Defense
73 Charlie McAvoy 000 +1 50.01 2126:31
91 Nikita Zadorov 000 +1 40.08 2022:54
27 Hampus Lindholm 000 0 50.23 1020:44
20 Henri Jokiharju 000 0 30.06 0117:14
20 Andrew Peeke 000 -1 20.00 0116:51
45 Jonathan Aspirot 000 0 20.08 2014:04
Goalie SAGA SVSV% xGA GSAx
Joonas Korpisalo 40337 .925 4.15 +1.15

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.

Buffalo Sabres

Player Rating Points Shots On ice Pen FO Other GSAx TOI
89 Alex Tuch R +3.03 +1.45 +0.25 +1.33 0.00 -0.02 +0.02 — 19:19
26 Rasmus Dahlin D +2.69 +1.45 +0.17 +0.95 0.00 0.00 +0.11 — 25:49
91 Josh Doan R +2.39 +0.75 +0.55 +1.08 0.00 0.00 +0.01 — 16:38
71 Ryan McLeod C +1.30 0.00 +0.01 +1.21 +0.15 -0.04 -0.02 — 14:44
6 Zach Benson L +1.20 +0.70 +0.15 +0.29 0.00 +0.01 +0.05 — 16:18
72 Tage Thompson C +1.17 +0.55 +0.24 +0.37 0.00 +0.01 0.00 — 19:51
25 Owen Power D +1.16 +0.55 +0.05 +0.51 0.00 0.00 +0.05 — 18:02
4 Bowen Byram D +0.99 0.00 +0.10 +0.71 0.00 0.00 +0.18 — 19:50
23 Mattias Samuelsson D +0.63 0.00 +0.11 +0.38 0.00 0.00 +0.15 — 23:49
20 Jiri Kulich C +0.46 0.00 +0.02 +0.47 0.00 -0.03 0.00 — 18:05
21 Conor Timmins D +0.35 0.00 +0.01 +0.34 0.00 0.00 0.00 — 15:56
44 Josh Dunne C +0.34 0.00 +0.06 +0.32 0.00 -0.02 -0.02 — 9:01
17 Jason Zucker L +0.30 0.00 +0.58 -0.22 0.00 0.00 -0.06 — 15:28
19 Peyton Krebs C +0.16 0.00 +0.05 -0.10 +0.15 +0.01 +0.05 — 11:33
8 Michael Kesselring D +0.15 0.00 +0.11 +0.12 -0.15 0.00 +0.08 — 14:50
29 Beck Malenstyn L +0.06 0.00 +0.05 -0.02 0.00 0.00 +0.02 — 11:31
12 Jordan Greenway L -0.05 0.00 +0.15 -0.03 -0.15 0.00 -0.02 — 15:22
22 Jack Quinn R -0.12 0.00 +0.04 -0.21 0.00 0.00 +0.05 — 14:36
34 Alex Lyon G -1.22 0.00 — — 0.00 — — -1.22 61:33

Boston Bruins

Player Rating Points Shots On ice Pen FO Other GSAx TOI
47 Mark Kastelic C +1.58 +0.75 +0.41 +0.26 +0.15 +0.01 0.00 — 12:37
88 David Pastrnak R +1.28 +1.45 +0.20 -0.25 -0.15 0.00 +0.03 — 20:17
70 Joonas Korpisalo G +1.15 0.00 — — 0.00 — — +1.15 62:07
84 Tanner Jeannot L +1.01 +0.70 +0.05 +0.21 0.00 0.00 +0.05 — 15:21
52 Sean Kuraly C +0.80 +0.55 +0.01 +0.31 0.00 0.00 -0.06 — 14:29
39 Morgan Geekie C +0.64 +0.75 +0.19 -0.49 +0.15 0.00 +0.03 — 18:32
92 Marat Khusnutdinov C +0.53 +0.75 +0.17 -0.42 0.00 +0.03 0.00 — 15:20
91 Nikita Zadorov D +0.52 0.00 +0.05 +0.51 0.00 0.00 -0.04 — 22:54
73 Charlie McAvoy D +0.35 0.00 +0.01 +0.34 0.00 0.00 +0.01 — 26:31
28 Elias Lindholm C +0.31 0.00 +0.12 +0.16 0.00 +0.03 0.00 — 9:37
93 Fraser Minten C +0.23 +0.70 +0.02 -0.57 0.00 +0.01 +0.07 — 15:15
45 Jonathan Aspirot D -0.29 0.00 +0.05 -0.30 0.00 0.00 -0.04 — 14:04
18 Pavel Zacha C -0.42 +0.55 +0.17 -0.81 -0.30 -0.03 0.00 — 17:22
20 Henri Jokiharju D -0.51 0.00 +0.04 -0.58 0.00 0.00 +0.03 — 17:14
81 Michael Eyssimont C -0.78 0.00 +0.01 -0.78 0.00 0.00 0.00 — 12:27
11 Casey Mittelstadt C -0.92 0.00 +0.05 -0.99 0.00 +0.03 -0.02 — 13:15
71 Viktor Arvidsson L -0.94 0.00 +0.10 -1.13 +0.15 0.00 -0.06 — 15:44
26 Andrew Peeke D -1.37 0.00 0.00 -1.43 0.00 0.00 +0.05 — 16:51
27 Hampus Lindholm D -1.39 0.00 +0.15 -1.54 0.00 0.00 0.00 — 20:44

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.