Buffalo SabresBUF 3–1 Final New Jersey DevilsNJD

Sunday, December 21, 2025

Final 1st2nd3rd T SOG
Buffalo SabresBUF 021 3 25
New Jersey DevilsNJD 100 1 27

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

Highlights

Scoring

1st Period
8:51 NJD Jack Hughes (11) Dawson Mercer (13), Colton White (4) · snap xG 0.12 0–1 ▶
2nd Period
2:26 BUF Josh Norris (4) Rasmus Dahlin (24), Owen Power (7) · snap xG 0.25 1–1 ▶
16:05 BUF Zach Benson (3) Ryan McLeod (13), Jack Quinn (12) · snap xG 0.15 2–1 ▶
3rd Period
17:59 BUF Peyton Krebs (1)EN Tage Thompson (14), Bowen Byram (8) · wrist xG 0.93 3–1 ▶

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 22%Deserve to win78% NJD
BUFNJD
2.68Expected goals2.88
3Goals (no shootout)1
1.29Expected goals, 5 on 52.03
48Shot attempts71
35Unblocked attempts47
25Shots on goal27

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
16:20 NJD No shift No shift · Palat, 14:11 on the bench
No shift from 6:14 of the 2nd to 0:25 of the 3rd; 8 shifts (8:10) before that
3rd Period
16:30 NJD Shortened bench Shortened bench · 2 forwards sat
Glendening and Cotter: no shift after 6:36 of the 3rd
16:50 NJD No shift No shift · Noesen, 10:33 on the bench
No shift from 6:42 to 17:15 of the 3rd; 13 shifts (9:58) before that
17:15 NJD Pulled goalie Pulled goalie · Pulled Allen, down 2–1
With 2:45 left; BUF scored at 17:59 of the 3rd (3–1)
18:20 NJD Pulled goalie Pulled goalie · Pulled Allen, down 3–1
With 1:40 left

Shot map

BUF shoots ←Bigger circle: higher xG; filled: goal→ NJD shoots
Michael Kesselring: wrist, 67 ft, xG 0.01 (P1 0:53) Jack Quinn: wrist, 43 ft, xG 0.01 (P1 1:59) Ryan McLeod: snap, 9 ft, xG 0.05 (P1 2:08) Timo Meier: backhand, 21 ft, xG 0.02 (P1 3:08) Timo Meier: snap, 33 ft, xG 0.04 (P1 3:26) Owen Power: wrist, 26 ft, xG 0.02 (P1 4:33) Paul Cotter: snap, 33 ft, xG 0.08 (P1 6:45) Timo Meier: wrist, 41 ft, xG 0.03 (P1 7:12) Connor Brown: tip-in, 9 ft, xG 0.09 (P1 7:18) Alex Tuch: wrist, 40 ft, xG 0.02 (P1 7:27) Jesper Bratt: wrist, 59 ft, xG 0.03 (P1 7:44) Timo Meier: wrist, 17 ft, xG 0.12 (P1 8:17) Zach Metsa: slap, 65 ft, xG 0.02 (P1 9:13) Bowen Byram: backhand, 27 ft, xG 0.01 (P1 9:14) Arseny Gritsyuk: wrist, 21 ft, xG 0.14 (P1 11:55) Colton White: wrist, 56 ft, xG 0.01 (P1 11:59) Timo Meier: wrist, 66 ft, xG 0.01 (P1 14:13) Alex Tuch: wrist, 56 ft, xG 0.01 (P1 14:29) Isak Rosen: wrist, 27 ft, xG 0.03 (P1 15:50) Josh Dunne: snap, 47 ft, xG 0.00 (P1 15:52) Michael Kesselring: slap, 125 ft, xG 0.00 (P1 16:08) Stefan Noesen: snap, 34 ft, xG 0.09 (P1 16:22) Alex Tuch: wrist, 130 ft, xG 0.00 (P1 17:49) Nico Hischier: wrist, 14 ft, xG 0.10 (P1 18:00) Nico Hischier: snap, 21 ft, xG 0.19 (P1 19:03) Alex Tuch: wrist, 39 ft, xG 0.02 (P1 19:58) Timo Meier: tip-in, 10 ft, xG 0.12 (P2 1:42) Connor Brown: wrist, 24 ft, xG 0.11 (P2 1:46) Timo Meier: backhand, 9 ft, xG 0.04 (P2 1:47) Ondrej Palat: tip-in, 18 ft, xG 0.06 (P2 1:52) Dougie Hamilton: wrist, 67 ft, xG 0.01 (P2 1:59) Josh Doan: wrist, 28 ft, xG 0.12 (P2 2:19) Rasmus Dahlin: wrist, 12 ft, xG 0.06 (P2 2:24) Alex Tuch: wrist, 26 ft, xG 0.09 (P2 3:19) Arseny Gritsyuk: snap, 53 ft, xG 0.01 (P2 3:25) Connor Brown: snap, 35 ft, xG 0.07 (P2 4:41) Tage Thompson: wrist, 37 ft, xG 0.05 (P2 5:38) Tage Thompson: wrist, 63 ft, xG 0.01 (P2 5:45) Michael Kesselring: wrist, 37 ft, xG 0.06 (P2 5:53) Jonas Siegenthaler: slap, 70 ft, xG 0.00 (P2 8:23) Michael Kesselring: snap, 60 ft, xG 0.01 (P2 9:11) Jonas Siegenthaler: snap, 67 ft, xG 0.01 (P2 9:40) Josh Doan: wrist, 98 ft, xG 0.00 (P2 10:03) Beck Malenstyn: wrist, 59 ft, xG 0.01 (P2 13:50) Peyton Krebs: snap, 24 ft, xG 0.07 (P2 14:10) Zach Metsa: slap, 65 ft, xG 0.02 (P2 15:04) Timo Meier: wrist, 23 ft, xG 0.04 (P2 17:42) Jesper Bratt: wrist, 34 ft, xG 0.07 (P2 17:54) Nico Hischier: snap, 44 ft, xG 0.04 (P2 18:21) Owen Power: wrist, 44 ft, xG 0.02 (P2 19:01) Ryan McLeod: backhand, 15 ft, xG 0.05 (P2 19:34) Ondrej Palat: wrist, 6 ft, xG 0.03 (P3 0:38) Ondrej Palat: slap, 44 ft, xG 0.01 (P3 1:01) Dawson Mercer: slap, 31 ft, xG 0.09 (P3 1:32) Tage Thompson: wrist, 52 ft, xG 0.01 (P3 3:15) Timo Meier: snap, 37 ft, xG 0.06 (P3 3:31) Connor Brown: wrist, 10 ft, xG 0.09 (P3 4:58) Bowen Byram: backhand, 17 ft, xG 0.06 (P3 6:02) Alex Tuch: wrist, 38 ft, xG 0.01 (P3 6:54) Dawson Mercer: snap, 40 ft, xG 0.05 (P3 7:11) Noah Ostlund: wrist, 63 ft, xG 0.01 (P3 7:31) Timo Meier: wrist, 14 ft, xG 0.16 (P3 8:40) Nico Hischier: snap, 41 ft, xG 0.05 (P3 8:53) Brett Pesce: snap, 49 ft, xG 0.00 (P3 8:56) Timo Meier: tip-in, 7 ft, xG 0.08 (P3 8:58) Jesper Bratt: snap, 20 ft, xG 0.16 (P3 12:03) Peyton Krebs: wrist, 30 ft, xG 0.04 (P3 14:22) Timo Meier: wrist, 46 ft, xG 0.01 (P3 15:21) Jesper Bratt: snap, 36 ft, xG 0.02 (P3 15:33) Luke Hughes: snap, 58 ft, xG 0.01 (P3 15:39) Jesper Bratt: slap, 27 ft, xG 0.05 (P3 17:19) Jesper Bratt: wrist, 18 ft, xG 0.15 (P3 17:40) Jack Hughes: wrist, 20 ft, xG 0.03 (P3 17:48) Cody Glass: snap, 41 ft, xG 0.07 (P3 18:28) Bowen Byram: wrist, 159 ft, xG 0.44 (P3 18:36) Timo Meier: bat, 15 ft, xG 0.06 (P3 19:18) Ondrej Palat: tip-in, 19 ft, xG 0.04 (P3 19:38) Dawson Mercer: snap, 41 ft, xG 0.02 (P3 19:41) Jack Hughes: GOAL, snap, 31 ft, xG 0.12 (P1 8:51) Josh Norris: GOAL, snap, 11 ft, xG 0.25 (P2 2:26) Zach Benson: GOAL, snap, 21 ft, xG 0.15 (P2 16:05) Peyton Krebs: GOAL, wrist, 15 ft, xG 0.93 (P3 17:59)
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
89 Alex Tuch 000 +1 80.15 2118:47
19 Peyton Krebs 101 0 41.05 1117:54
86 Noah Ostlund 000 +1 30.01 0217:08
72 Tage Thompson 011 0 30.08 1116:48
9 Josh Norris 101 +1 10.25 0115:48
91 Josh Doan 000 -1 40.12 0215:03
71 Ryan McLeod 011 +2 20.10 0114:47
29 Beck Malenstyn 000 0 10.01 5013:23
44 Josh Dunne 000 0 10.00 0013:09
6 Zach Benson 101 +1 20.15 1013:05
22 Jack Quinn 011 +1 10.01 1011:07
Defense
23 Mattias Samuelsson 000 +1 20.00 5426:07
26 Rasmus Dahlin 011 +2 20.06 0422:34
24 Bowen Byram 011 +1 30.51 0222:18
25 Owen Power 011 +1 20.04 1121:43
7 Michael Kesselring 000 -1 50.08 1215:41
73 Zach Metsa 000 0 20.04 1111:54
Goalie SAGA SVSV% xGA GSAx
Ukko-Pekka Luukkonen 27126 .963 2.88 +1.88

New Jersey Devils

Skater GAP+/− AttxG HitBlkTOI
Forwards
86 Jack Hughes 101 0 40.15 0120:57
13 Nico Hischier 000 -2 50.38 2119:48
63 Jesper Bratt 000 -2 80.48 1019:29
16 Connor Brown 000 -1 40.37 1019:03
12 Cody Glass 000 -1 30.07 0017:55
81 Arseny Gritsyuk 000 0 40.15 0017:09
28 Timo Meier 000 -2 130.77 1116:19
91 Dawson Mercer 011 +1 30.16 1215:33
81 Ondrej Palat 000 0 50.14 1012:47
11 Stefan Noesen 000 -1 30.09 0011:36
47 Paul Cotter 000 0 40.08 2010:22
41 Luke Glendening 000 0 10.00 0008:28
Defense
43 Luke Hughes 000 -2 50.01 0326:36
7 Dougie Hamilton 000 0 20.01 3122:48
22 Brett Pesce 000 -2 20.00 1221:11
71 Jonas Siegenthaler 000 0 30.01 0117:10
5 Brenden Dillon 000 0 10.00 2114:39
6 Colton White 011 +1 10.01 1012:03
Goalie SAGA SVSV% xGA GSAx
Jake Allen 24222 .917 1.31 -0.69

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
1 Ukko-Pekka Luukkonen G +1.88 0.00 — — 0.00 — — +1.88 60:00
26 Rasmus Dahlin D +1.46 +0.70 +0.04 +0.56 0.00 0.00 +0.16 — 22:34
9 Josh Norris C +0.91 +0.75 +0.16 +0.01 0.00 -0.04 +0.03 — 15:48
19 Peyton Krebs C +0.85 +0.75 +0.68 -0.60 0.00 -0.01 +0.03 — 17:54
71 Ryan McLeod C +0.84 +0.70 +0.07 +0.09 0.00 -0.07 +0.05 — 14:47
6 Zach Benson L +0.69 +0.75 +0.10 -0.01 -0.15 0.00 0.00 — 13:05
22 Jack Quinn R +0.61 +0.55 0.00 +0.08 0.00 0.00 -0.02 — 11:07
25 Owen Power D +0.44 +0.55 +0.02 -0.16 0.00 0.00 +0.03 — 21:43
86 Noah Ostlund C +0.30 0.00 +0.01 +0.16 0.00 +0.02 +0.12 — 17:08
4 Bowen Byram D +0.28 +0.55 +0.33 -0.64 0.00 0.00 +0.04 — 22:18
89 Alex Tuch R +0.24 0.00 +0.10 +0.09 0.00 0.00 +0.05 — 18:47
72 Tage Thompson C +0.21 +0.70 +0.05 -0.56 0.00 -0.03 +0.05 — 16:48
73 Zach Metsa D -0.02 0.00 +0.02 -0.07 0.00 0.00 +0.03 — 11:54
29 Beck Malenstyn L -0.15 0.00 +0.01 -0.15 0.00 +0.01 -0.02 — 13:23
44 Josh Dunne C -0.17 0.00 0.00 -0.20 0.00 +0.03 0.00 — 13:09
23 Mattias Samuelsson D -0.26 0.00 0.00 -0.46 0.00 0.00 +0.20 — 26:07
63 Isak Rosen R -0.26 0.00 +0.02 -0.28 0.00 0.00 0.00 — 10:44
8 Michael Kesselring D -0.37 0.00 +0.05 -0.54 0.00 0.00 +0.12 — 15:41
91 Josh Doan R -0.42 0.00 +0.08 -0.60 0.00 0.00 +0.10 — 15:03

New Jersey Devils

Player Rating Points Shots On ice Pen FO Other GSAx TOI
86 Jack Hughes C +1.37 +0.75 +0.10 +0.54 0.00 0.00 -0.01 — 20:57
91 Dawson Mercer C +1.28 +0.70 +0.11 +0.38 0.00 0.00 +0.10 — 15:33
45 Colton White D +1.28 +0.55 0.00 +0.79 0.00 0.00 -0.06 — 12:03
28 Timo Meier R +1.22 0.00 +0.50 +0.52 +0.15 +0.01 +0.03 — 16:19
13 Nico Hischier C +0.88 0.00 +0.24 +0.56 0.00 +0.07 +0.01 — 19:48
63 Jesper Bratt L +0.86 0.00 +0.31 +0.55 0.00 0.00 0.00 — 19:29
5 Brenden Dillon D +0.50 0.00 0.00 +0.45 0.00 0.00 +0.05 — 14:39
43 Luke Hughes D +0.26 0.00 +0.01 +0.10 0.00 0.00 +0.15 — 26:36
7 Dougie Hamilton D +0.13 0.00 +0.01 +0.15 0.00 0.00 -0.03 — 22:48
81 Arseny Gritsyuk R +0.12 0.00 +0.10 +0.02 0.00 0.00 0.00 — 17:09
47 Paul Cotter L +0.06 0.00 +0.05 +0.01 0.00 0.00 0.00 — 10:22
11 Stefan Noesen R +0.06 0.00 +0.06 +0.02 0.00 0.00 -0.02 — 11:36
71 Jonas Siegenthaler D +0.05 0.00 +0.01 -0.01 0.00 0.00 +0.05 — 17:10
18 Ondrej Palat L +0.02 0.00 +0.09 -0.02 0.00 0.00 -0.04 — 12:47
16 Connor Brown R -0.01 0.00 +0.24 -0.26 0.00 +0.01 0.00 — 19:03
22 Brett Pesce D -0.07 0.00 0.00 -0.17 0.00 0.00 +0.10 — 21:11
14 Luke Glendening C -0.14 0.00 0.00 -0.12 0.00 -0.02 0.00 — 8:28
12 Cody Glass C -0.15 0.00 +0.04 -0.22 0.00 +0.02 0.00 — 17:55
34 Jake Allen G -0.69 0.00 — — 0.00 — — -0.69 56:07

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.