Boston BruinsBOS 4–3 Final/OT Buffalo SabresBUF

Wednesday, March 25, 2026

Final/OT 1st2nd3rdOT T SOG
Boston BruinsBOS 1111 4 31
Buffalo SabresBUF 1020 3 25
Playoff odds, % Change
BOS +10.5
BUF -0.0
DET -3.3
OTT -2.2
NYI -1.6
PHI -1.1
PIT -0.8
MTL -0.8

How the result moved each team's playoff odds, calculated Mar 25, 2026 7:32 PM EDT.

Highlights

Scoring

1st Period
11:07 BOS David Pastrnak (29) Fraser Minten (16), Marat Khusnutdinov (17) · snap xG 0.09 1–0 ▶
15:18 BUF Jason Zucker (21)PP Tage Thompson (37), Jack Quinn (29) · snap xG 0.17 1–1 ▶
2nd Period
9:45 BOS Viktor Arvidsson (20) David Pastrnak (60), Nikita Zadorov (18) · backhand xG 0.08 2–1 ▶
3rd Period
5:21 BUF Zach Benson (10) Unassisted · wrist xG 0.16 2–2 ▶
5:54 BUF Jason Zucker (22)PP Tage Thompson (38) · wrist xG 0.27 2–3 ▶
14:00 BOS Casey Mittelstadt (14) Jonathan Aspirot (9), Pavel Zacha (30) · wrist xG 0.24 3–3 ▶
Overtime
0:38 BOS Pavel Zacha (24) David Pastrnak (61), Charlie McAvoy (45) · wrist xG 0.09 4–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 46%Deserve to win54% BUF
BOSBUF
2.50Expected goals2.69
4Goals (no shootout)3
2.34Expected goals, 5 on 51.78
59Shot attempts58
45Unblocked attempts38
31Shots on goal25

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

3rd Period
5:54 BUF Deserve to win Deserve to win · BUF takes the lead, 63–37%
BOS had led since 11:15 of the 1st, by as much as 66%
16:00 BOS Shortened bench Shortened bench · 3 forwards sat
Jeannot, Kuraly and Kastelic: last shifts between 3:19 and 5:54 of the 3rd

Shot map

BOS shoots ←Bigger circle: higher xG; filled: goal→ BUF shoots
Alex Tuch: wrist, 32 ft, xG 0.06 (P1 0:48) Mason Lohrei: wrist, 53 ft, xG 0.03 (P1 1:32) Mattias Samuelsson: wrist, 22 ft, xG 0.06 (P1 3:41) David Pastrnak: slap, 38 ft, xG 0.05 (P1 8:10) Sean Kuraly: wrist, 19 ft, xG 0.02 (P1 9:37) Jonathan Aspirot: wrist, 30 ft, xG 0.07 (P1 9:40) Elias Lindholm: snap, 56 ft, xG 0.01 (P1 9:52) Pavel Zacha: tip-in, 19 ft, xG 0.04 (P1 10:51) Fraser Minten: wrist, 38 ft, xG 0.06 (P1 11:15) Jonathan Aspirot: snap, 70 ft, xG 0.01 (P1 13:01) Lukas Reichel: wrist, 33 ft, xG 0.15 (P1 13:17) Jason Zucker: wrist, 36 ft, xG 0.01 (P1 13:44) Jason Zucker: backhand, 13 ft, xG 0.13 (P1 13:55) Viktor Arvidsson: wrist, 25 ft, xG 0.08 (P1 15:39) Andrew Peeke: wrist, 51 ft, xG 0.03 (P1 15:50) David Pastrnak: slap, 42 ft, xG 0.02 (P1 16:18) Conor Timmins: wrist, 31 ft, xG 0.04 (P1 16:44) Elias Lindholm: wrist, 50 ft, xG 0.02 (P1 17:18) Jason Zucker: snap, 54 ft, xG 0.02 (P1 17:45) Tanner Jeannot: wrist, 41 ft, xG 0.01 (P1 18:06) Tage Thompson: wrist, 36 ft, xG 0.06 (P1 18:44) Owen Power: slap, 54 ft, xG 0.01 (P1 19:40) Mason Lohrei: wrist, 66 ft, xG 0.01 (P2 0:10) Peyton Krebs: tip-in, 12 ft, xG 0.08 (P2 0:57) Alex Tuch: wrist, 58 ft, xG 0.01 (P2 1:16) Josh Doan: snap, 35 ft, xG 0.08 (P2 1:37) Lukas Reichel: snap, 40 ft, xG 0.06 (P2 1:46) Elias Lindholm: snap, 25 ft, xG 0.14 (P2 1:48) Josh Norris: wrist, 38 ft, xG 0.07 (P2 2:25) Nikita Zadorov: wrist, 177 ft, xG 0.00 (P2 2:38) David Pastrnak: wrist, 31 ft, xG 0.09 (P2 3:17) Mark Kastelic: wrist, 9 ft, xG 0.17 (P2 4:31) Andrew Peeke: wrist, 57 ft, xG 0.01 (P2 4:36) Pavel Zacha: wrist, 45 ft, xG 0.03 (P2 5:00) Tage Thompson: slap, 44 ft, xG 0.04 (P2 5:19) Tage Thompson: backhand, 6 ft, xG 0.06 (P2 5:26) Alex Tuch: deflected, 9 ft, xG 0.12 (P2 5:48) Morgan Geekie: wrist, 50 ft, xG 0.01 (P2 6:30) Beck Malenstyn: tip-in, 18 ft, xG 0.05 (P2 7:09) Rasmus Dahlin: snap, 40 ft, xG 0.05 (P2 7:16) Rasmus Dahlin: wrist, 25 ft, xG 0.06 (P2 7:35) Nikita Zadorov: wrist, 40 ft, xG 0.03 (P2 8:34) Josh Doan: wrist, 48 ft, xG 0.03 (P2 8:52) Sean Kuraly: snap, 18 ft, xG 0.21 (P2 10:21) Peyton Krebs: wrist, 30 ft, xG 0.06 (P2 10:30) Sean Kuraly: wrist, 26 ft, xG 0.01 (P2 11:51) Rasmus Dahlin: slap, 46 ft, xG 0.06 (P2 12:31) Bowen Byram: wrist, 26 ft, xG 0.12 (P2 12:48) Noah Ostlund: wrist, 7 ft, xG 0.17 (P2 12:55) Bowen Byram: wrist, 41 ft, xG 0.06 (P2 13:40) Conor Timmins: slap, 63 ft, xG 0.02 (P2 14:30) Mark Kastelic: wrist, 140 ft, xG 0.00 (P2 16:17) Tage Thompson: wrist, 46 ft, xG 0.03 (P2 16:30) Andrew Peeke: wrist, 42 ft, xG 0.01 (P2 16:40) Viktor Arvidsson: slap, 38 ft, xG 0.04 (P2 16:53) Charlie McAvoy: wrist, 34 ft, xG 0.08 (P2 16:59) Sam Carrick: wrist, 59 ft, xG 0.02 (P2 17:32) Beck Malenstyn: slap, 13 ft, xG 0.14 (P2 18:12) Andrew Peeke: wrist, 56 ft, xG 0.01 (P2 19:31) Tage Thompson: wrist, 89 ft, xG 0.00 (P2 19:55) Sean Kuraly: wrist, 57 ft, xG 0.01 (P3 3:09) Zach Benson: wrist, 49 ft, xG 0.01 (P3 4:12) Nikita Zadorov: wrist, 60 ft, xG 0.02 (P3 6:38) Jonathan Aspirot: wrist, 113 ft, xG 0.00 (P3 7:20) David Pastrnak: snap, 25 ft, xG 0.14 (P3 7:34) Josh Norris: wrist, 13 ft, xG 0.13 (P3 8:05) Andrew Peeke: wrist, 58 ft, xG 0.02 (P3 8:31) Viktor Arvidsson: slap, 41 ft, xG 0.09 (P3 9:01) David Pastrnak: tip-in, 12 ft, xG 0.09 (P3 9:36) Elias Lindholm: snap, 59 ft, xG 0.03 (P3 9:57) Nikita Zadorov: snap, 44 ft, xG 0.04 (P3 10:26) Peyton Krebs: slap, 40 ft, xG 0.07 (P3 11:58) Josh Norris: tip-in, 14 ft, xG 0.09 (P3 12:20) Jonathan Aspirot: slap, 63 ft, xG 0.03 (P3 13:56) Alex Tuch: slap, 49 ft, xG 0.02 (P3 16:59) Jason Zucker: tip-in, 14 ft, xG 0.06 (P3 18:14) David Pastrnak: GOAL, snap, 22 ft, xG 0.09 (P1 11:07) Jason Zucker: GOAL, snap, 19 ft, xG 0.17 (P1 15:18) Viktor Arvidsson: GOAL, backhand, 17 ft, xG 0.08 (P2 9:45) Zach Benson: GOAL, wrist, 7 ft, xG 0.16 (P3 5:21) Jason Zucker: GOAL, wrist, 8 ft, xG 0.27 (P3 5:54) Casey Mittelstadt: GOAL, wrist, 10 ft, xG 0.24 (P3 14:00) Pavel Zacha: GOAL, wrist, 28 ft, xG 0.09 (OT 0:38)
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 123 +3 60.49 0021:56
93 Fraser Minten 011 +1 10.06 1120:14
92 Marat Khusnutdinov 011 +1 10.00 0318:00
28 Elias Lindholm 000 0 40.21 1116:41
39 Morgan Geekie 000 0 20.01 1115:53
76 Lukas Reichel 000 -1 40.21 0014:59
18 Pavel Zacha 112 +2 30.17 3014:33
11 Casey Mittelstadt 101 0 30.24 1114:28
33 Viktor Arvidsson 101 +1 50.30 3013:32
52 Sean Kuraly 000 0 40.26 2110:45
47 Mark Kastelic 000 0 20.17 2009:58
84 Tanner Jeannot 000 0 10.01 3107:32
Defense
73 Charlie McAvoy 011 +1 20.08 2324:45
27 Hampus Lindholm 000 0 00.00 0220:10
91 Nikita Zadorov 011 +2 50.09 6219:58
45 Jonathan Aspirot 011 +1 60.11 1117:41
6 Mason Lohrei 000 +1 30.04 0117:29
20 Andrew Peeke 000 +1 70.07 2117:15
Goalie SAGA SVSV% xGA GSAx
Joonas Korpisalo 25322 .880 2.69 -0.31

Buffalo Sabres

Skater GAP+/− AttxG HitBlkTOI
Forwards
72 Tage Thompson 022 -1 80.20 1018:44
89 Alex Tuch 000 -2 40.21 3117:49
71 Ryan McLeod 000 -3 00.00 0017:12
9 Josh Norris 000 0 40.29 1016:49
22 Jack Quinn 011 -1 30.00 1116:23
17 Jason Zucker 202 -1 90.66 0015:58
86 Noah Ostlund 000 0 10.17 0014:31
91 Josh Doan 000 -1 30.11 3014:06
19 Peyton Krebs 000 -1 30.20 1013:32
29 Beck Malenstyn 000 0 20.19 3112:01
6 Zach Benson 101 +1 30.17 0111:35
10 Sam Carrick 000 0 10.02 1110:26
Defense
26 Rasmus Dahlin 000 -3 40.17 2023:45
25 Owen Power 000 0 40.01 0321:30
23 Mattias Samuelsson 000 -1 20.06 1321:16
24 Bowen Byram 000 -1 20.17 1020:15
21 Conor Timmins 000 0 20.07 2215:30
8 Logan Stanley 000 +1 30.00 1014:44
Goalie SAGA SVSV% xGA GSAx
Ukko-Pekka Luukkonen 31427 .871 2.50 -1.50

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.62 +2.15 +0.32 +0.20 0.00 +0.01 -0.06 — 21:56
18 Pavel Zacha C +2.21 +1.30 +0.11 +0.80 0.00 +0.02 -0.02 — 14:33
71 Viktor Arvidsson L +1.79 +0.75 +0.19 +0.71 +0.15 -0.01 0.00 — 13:32
11 Casey Mittelstadt C +1.60 +0.75 +0.16 +0.65 0.00 -0.01 +0.05 — 14:28
45 Jonathan Aspirot D +1.35 +0.70 +0.07 +0.53 0.00 0.00 +0.05 — 17:41
91 Nikita Zadorov D +0.96 +0.55 +0.06 +0.27 0.00 0.00 +0.08 — 19:58
73 Charlie McAvoy D +0.88 +0.55 +0.05 +0.12 0.00 0.00 +0.15 — 24:45
92 Marat Khusnutdinov C +0.63 +0.55 0.00 -0.06 0.00 +0.01 +0.13 — 18:00
6 Mason Lohrei D +0.48 0.00 +0.03 +0.57 -0.15 0.00 +0.03 — 17:29
26 Andrew Peeke D +0.48 0.00 +0.05 +0.38 0.00 0.00 +0.05 — 17:15
52 Sean Kuraly C +0.47 0.00 +0.17 +0.25 0.00 +0.01 +0.05 — 10:45
84 Tanner Jeannot L +0.43 0.00 0.00 +0.24 +0.15 0.00 +0.03 — 7:32
27 Hampus Lindholm D +0.38 0.00 0.00 +0.30 0.00 0.00 +0.08 — 20:10
47 Mark Kastelic C +0.26 0.00 +0.11 +0.15 0.00 0.00 0.00 — 9:58
93 Fraser Minten C +0.24 +0.70 +0.04 -0.33 -0.15 -0.01 -0.01 — 20:14
39 Morgan Geekie C +0.09 0.00 0.00 +0.07 0.00 -0.01 +0.03 — 15:53
28 Elias Lindholm C +0.08 0.00 +0.14 +0.01 -0.15 +0.03 +0.05 — 16:41
75 Lukas Reichel L -0.15 0.00 +0.14 -0.31 0.00 0.00 +0.02 — 14:59
70 Joonas Korpisalo G -0.31 0.00 — — 0.00 — — -0.31 60:38

Buffalo Sabres

Player Rating Points Shots On ice Pen FO Other GSAx TOI
17 Jason Zucker L +1.44 +1.50 +0.43 -0.47 0.00 0.00 -0.02 — 15:58
6 Zach Benson L +1.35 +0.75 +0.11 +0.27 +0.15 0.00 +0.07 — 11:35
72 Tage Thompson C +0.91 +1.40 +0.13 -0.62 0.00 -0.02 +0.02 — 18:44
25 Owen Power D +0.39 0.00 +0.01 +0.25 0.00 0.00 +0.13 — 21:30
22 Jack Quinn R +0.37 +0.55 0.00 -0.23 0.00 0.00 +0.05 — 16:23
9 Josh Norris C +0.33 0.00 +0.19 +0.15 0.00 0.00 0.00 — 16:49
89 Alex Tuch R +0.32 0.00 +0.14 +0.14 0.00 0.00 +0.05 — 17:49
29 Beck Malenstyn L +0.30 0.00 +0.12 +0.13 0.00 0.00 +0.05 — 12:01
86 Noah Ostlund C +0.26 0.00 +0.11 +0.15 0.00 0.00 0.00 — 14:31
4 Bowen Byram D +0.09 0.00 +0.11 +0.01 0.00 0.00 -0.04 — 20:15
10 Sam Carrick C -0.03 0.00 +0.01 -0.05 0.00 -0.02 +0.03 — 10:26
23 Mattias Samuelsson D -0.15 0.00 +0.04 -0.34 0.00 0.00 +0.15 — 21:16
64 Logan Stanley D -0.24 0.00 0.00 -0.22 0.00 0.00 -0.02 — 14:44
21 Conor Timmins D -0.40 0.00 +0.04 -0.54 0.00 0.00 +0.10 — 15:30
19 Peyton Krebs C -0.49 0.00 +0.13 -0.62 0.00 0.00 0.00 — 13:32
71 Ryan McLeod C -0.59 0.00 0.00 -0.72 +0.15 0.00 -0.02 — 17:12
26 Rasmus Dahlin D -0.75 0.00 +0.11 -0.67 -0.15 0.00 -0.04 — 23:45
91 Josh Doan R -1.12 0.00 +0.07 -1.19 0.00 0.00 0.00 — 14:06
1 Ukko-Pekka Luukkonen G -1.50 0.00 — — 0.00 — — -1.50 60:26

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.