Buffalo SabresBUF 4–7 Final Calgary FlamesCGY

Monday, December 8, 2025

Final 1st2nd3rd T SOG
Buffalo SabresBUF 031 4 29
Calgary FlamesCGY 232 7 28

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

Highlights

Scoring

1st Period
9:54 CGY Yegor Sharangovich (5) MacKenzie Weegar (5), Nazem Kadri (19) · deflected xG 0.16 0–1 ▶
13:22 CGY Rasmus Andersson (7)PP Matt Coronato (8), Nazem Kadri (20) · slap xG 0.09 0–2 ▶
2nd Period
4:24 BUF Tage Thompson (13)PP Jason Zucker (8), Josh Norris (4) · wrist xG 0.12 1–2 ▶
7:05 CGY Jonathan Huberdeau (6)PP Matt Coronato (9), Morgan Frost (10) · tip-in xG 0.26 1–3 ▶
13:43 BUF Owen Power (3) Peyton Krebs (8), Jacob Bryson (3) · wrist xG 0.07 2–3 ▶
14:14 CGY Nazem Kadri (6) Joel Farabee (8), Yegor Sharangovich (5) · tip-in xG 0.13 2–4 ▶
16:32 BUF Rasmus Dahlin (2) Josh Doan (12), Josh Norris (5) · tip-in xG 0.22 3–4 ▶
17:27 CGY Yan Kuznetsov (2) Blake Coleman (5) · poke xG 0.31 3–5 ▶
3rd Period
17:29 BUF Alex Tuch (10)PP Rasmus Dahlin (18), Jason Zucker (9) · tip-in xG 0.12 4–5 ▶
18:12 CGY Mikael Backlund (5)EN Unassisted · wrist xG 0.58 4–6 ▶
19:53 CGY Yegor Sharangovich (6)EN Yan Kuznetsov (3) · wrist xG 0.40 4–7 ▶

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 47%Deserve to win53% CGY
BUFCGY
3.16Expected goals4.27
4Goals (no shootout)7
1.75Expected goals, 5 on 51.63
66Shot attempts47
48Unblocked attempts39
29Shots on goal28

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
14:14 BUF Goalie Goalie · Luukkonen −2.3 goals saved
4 goals on 1.73 xG, 18 shots on goal
17:52 CGY Deserve to win Deserve to win · CGY takes the lead, 67–33%
BUF had led since 1:45 of the 1st, by as much as 67%
20:00 BUF Goalie change Goalie change · Lyon in for Luukkonen
The start of the 3rd; Luukkonen had allowed 5 goals on 22 shots (2.86 xG)
3rd Period
18:03 BUF Pulled goalie Pulled goalie · Pulled Lyon, down 5–4
With 1:57 left; CGY scored at 18:12 of the 3rd (4–6)
18:48 BUF Pulled goalie Pulled goalie · Pulled Lyon, down 6–4
With 1:12 left; CGY scored at 19:53 of the 3rd (4–7)

Shot map

BUF shoots ←Bigger circle: higher xG; filled: goal→ CGY shoots
Beck Malenstyn: tip-in, 7 ft, xG 0.10 (P1 0:21) Jason Zucker: wrist, 25 ft, xG 0.15 (P1 1:45) Tage Thompson: snap, 40 ft, xG 0.03 (P1 2:14) Rasmus Dahlin: slap, 59 ft, xG 0.03 (P1 2:53) Tage Thompson: tip-in, 9 ft, xG 0.07 (P1 5:04) Jonathan Huberdeau: wrist, 16 ft, xG 0.04 (P1 5:55) Adam Klapka: tip-in, 9 ft, xG 0.11 (P1 6:41) Adam Klapka: tip-in, 9 ft, xG 0.09 (P1 6:49) Jordan Greenway: wrist, 56 ft, xG 0.01 (P1 7:36) Blake Coleman: backhand, 24 ft, xG 0.03 (P1 7:51) Matt Coronato: wrist, 40 ft, xG 0.01 (P1 8:18) Tage Thompson: wrist, 42 ft, xG 0.02 (P1 9:29) Yegor Sharangovich: tip-in, 18 ft, xG 0.06 (P1 9:48) Adam Klapka: tip-in, 63 ft, xG 0.00 (P1 10:34) Josh Norris: slap, 36 ft, xG 0.09 (P1 11:11) Mikael Backlund: tip-in, 8 ft, xG 0.08 (P1 14:55) Kevin Bahl: slap, 47 ft, xG 0.03 (P1 15:30) Connor Zary: wrist, 5 ft, xG 0.06 (P1 15:32) Rasmus Andersson: wrist, 43 ft, xG 0.01 (P1 15:35) Bowen Byram: wrist, 29 ft, xG 0.08 (P1 15:49) MacKenzie Weegar: slap, 67 ft, xG 0.01 (P1 16:18) Matt Coronato: tip-in, 7 ft, xG 0.03 (P1 17:06) Jordan Greenway: wrist, 46 ft, xG 0.01 (P1 18:08) Josh Norris: snap, 18 ft, xG 0.08 (P1 18:12) Josh Norris: snap, 9 ft, xG 0.10 (P1 18:23) Connor Zary: wrist, 38 ft, xG 0.02 (P1 18:44) Joel Hanley: wrist, 57 ft, xG 0.01 (P1 18:50) Tyson Kozak: wrist, 52 ft, xG 0.01 (P1 19:05) Jordan Greenway: wrist, 49 ft, xG 0.01 (P2 0:22) Joel Farabee: backhand, 9 ft, xG 0.18 (P2 1:11) Zach Benson: wrist, 21 ft, xG 0.03 (P2 1:34) Zach Benson: snap, 7 ft, xG 0.06 (P2 1:41) Zach Benson: wrist, 52 ft, xG 0.01 (P2 1:57) Jason Zucker: tip-in, 19 ft, xG 0.09 (P2 2:59) Alex Tuch: tip-in, 8 ft, xG 0.11 (P2 3:44) Jason Zucker: wrist, 21 ft, xG 0.10 (P2 4:12) Jonathan Huberdeau: wrist, 36 ft, xG 0.07 (P2 5:54) Rasmus Andersson: slap, 50 ft, xG 0.05 (P2 6:03) MacKenzie Weegar: slap, 54 ft, xG 0.04 (P2 6:28) MacKenzie Weegar: slap, 53 ft, xG 0.01 (P2 6:50) Alex Tuch: wrist, 32 ft, xG 0.06 (P2 7:27) Rasmus Andersson: slap, 63 ft, xG 0.00 (P2 7:54) Conor Timmins: wrist, 50 ft, xG 0.01 (P2 8:07) Josh Norris: deflected, 20 ft, xG 0.02 (P2 8:08) Mikael Backlund: snap, 21 ft, xG 0.14 (P2 9:32) Beck Malenstyn: snap, 11 ft, xG 0.06 (P2 9:47) Josh Doan: tip-in, 11 ft, xG 0.10 (P2 10:08) Mattias Samuelsson: wrist, 47 ft, xG 0.01 (P2 11:39) Beck Malenstyn: wrist, 22 ft, xG 0.09 (P2 12:30) Jacob Bryson: wrap-around, 4 ft, xG 0.03 (P2 12:31) Peyton Krebs: wrist, 37 ft, xG 0.03 (P2 13:12) Blake Coleman: wrist, 6 ft, xG 0.27 (P2 17:25) Rasmus Andersson: wrist, 37 ft, xG 0.07 (P2 17:49) Joel Farabee: backhand, 9 ft, xG 0.49 (P2 17:52) Ryan McLeod: wrist, 32 ft, xG 0.09 (P2 19:45) Jack Quinn: wrist, 27 ft, xG 0.07 (P2 19:53) Alex Tuch: deflected, 6 ft, xG 0.19 (P2 19:58) Zach Benson: wrist, 16 ft, xG 0.03 (P2 19:59) Rasmus Dahlin: wrist, 41 ft, xG 0.05 (P3 0:36) Owen Power: wrist, 15 ft, xG 0.11 (P3 1:18) Jason Zucker: wrist, 13 ft, xG 0.16 (P3 4:07) Ryan McLeod: wrist, 27 ft, xG 0.02 (P3 4:18) Alex Tuch: tip-in, 13 ft, xG 0.02 (P3 7:33) Yegor Sharangovich: tip-in, 5 ft, xG 0.18 (P3 9:15) Tyson Kozak: tip-in, 11 ft, xG 0.05 (P3 9:23) Peyton Krebs: wrist, 28 ft, xG 0.06 (P3 9:36) Blake Coleman: snap, 39 ft, xG 0.07 (P3 10:29) Matt Coronato: backhand, 19 ft, xG 0.03 (P3 11:15) Brayden Pachal: snap, 68 ft, xG 0.01 (P3 11:30) Jason Zucker: bat, 26 ft, xG 0.02 (P3 11:45) Kevin Bahl: slap, 51 ft, xG 0.01 (P3 12:14) Owen Power: slap, 54 ft, xG 0.02 (P3 12:42) Ryan McLeod: wrist, 39 ft, xG 0.01 (P3 16:10) Nazem Kadri: wrist, 16 ft, xG 0.10 (P3 17:50) Blake Coleman: wrist, 22 ft, xG 0.02 (P3 18:22) Jason Zucker: wrist, 30 ft, xG 0.11 (P3 19:42) Yegor Sharangovich: GOAL, deflected, 6 ft, xG 0.16 (P1 9:54) Rasmus Andersson: GOAL, slap, 43 ft, xG 0.09 (P1 13:22) Tage Thompson: GOAL, wrist, 24 ft, xG 0.12 (P2 4:24) Jonathan Huberdeau: GOAL, tip-in, 4 ft, xG 0.26 (P2 7:05) Owen Power: GOAL, wrist, 34 ft, xG 0.07 (P2 13:43) Nazem Kadri: GOAL, tip-in, 6 ft, xG 0.13 (P2 14:14) Rasmus Dahlin: GOAL, tip-in, 5 ft, xG 0.22 (P2 16:32) Yan Kuznetsov: GOAL, poke, 6 ft, xG 0.31 (P2 17:27) Alex Tuch: GOAL, tip-in, 8 ft, xG 0.12 (P3 17:29) Mikael Backlund: GOAL, wrist, 54 ft, xG 0.58 (P3 18:12) Yegor Sharangovich: GOAL, wrist, 142 ft, xG 0.40 (P3 19: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

Buffalo Sabres

Skater GAP+/− AttxG HitBlkTOI
Forwards
89 Alex Tuch 101 -3 50.50 0121:42
72 Tage Thompson 101 -4 70.25 1121:22
9 Josh Norris 022 -2 60.28 0017:57
71 Ryan McLeod 000 0 30.12 0017:14
17 Jason Zucker 022 -2 60.64 1017:05
22 Jack Quinn 000 -1 30.07 2116:19
91 Josh Doan 011 0 10.10 1015:39
6 Zach Benson 000 +1 40.13 2014:08
19 Peyton Krebs 011 +1 20.09 4113:21
12 Jordan Greenway 000 -2 40.03 2009:44
48 Tyson Kozak 000 +1 20.06 1007:35
29 Beck Malenstyn 000 +1 30.24 1007:30
Defense
26 Rasmus Dahlin 112 -3 60.31 1124:51
25 Owen Power 101 -2 40.20 1021:17
23 Mattias Samuelsson 000 +1 30.01 1020:24
24 Bowen Byram 000 -2 30.08 0219:54
21 Conor Timmins 000 -1 10.01 0117:17
78 Jacob Bryson 011 +1 30.03 1009:00
Goalie SAGA SVSV% xGA GSAx
Ukko-Pekka Luukkonen 22517 .773 2.86 -2.14
Alex Lyon 404 1.000 0.42 +0.42

Calgary Flames

Skater GAP+/− AttxG HitBlkTOI
Forwards
10 Jonathan Huberdeau 101 0 30.37 1019:25
91 Nazem Kadri 123 +2 30.24 0018:32
20 Blake Coleman 011 +2 40.39 0117:02
11 Mikael Backlund 101 +2 40.80 0016:29
27 Matt Coronato 022 -1 30.06 0116:10
17 Yegor Sharangovich 213 +2 40.80 0015:27
86 Joel Farabee 011 +2 20.68 0215:11
16 Morgan Frost 011 -1 00.00 0214:55
47 Connor Zary 000 0 20.08 1013:51
17 John Beecher 000 0 00.00 0010:10
94 Ryan Lomberg 000 0 00.00 1207:57
43 Adam Klapka 000 0 50.21 4006:58
Defense
4 Rasmus Andersson 101 +2 70.22 0325:49
7 Kevin Bahl 000 +2 20.04 1224:14
37 Yan Kuznetsov 112 +1 20.31 1222:12
52 MacKenzie Weegar 011 +1 30.06 4022:11
94 Brayden Pachal 000 0 10.01 4110:40
44 Joel Hanley 000 0 20.01 0110:24
Goalie SAGA SVSV% xGA GSAx
Dustin Wolf 29425 .862 3.16 -0.84

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
9 Josh Norris C +1.93 +1.10 +0.18 +0.66 0.00 -0.02 0.00 — 17:57
19 Peyton Krebs C +1.69 +0.70 +0.06 +0.63 +0.22 +0.03 +0.05 — 13:21
26 Rasmus Dahlin D +1.43 +1.45 +0.20 -0.23 0.00 0.00 +0.01 — 24:51
91 Josh Doan R +1.42 +0.70 +0.06 +0.81 -0.15 +0.01 -0.02 — 15:39
17 Jason Zucker L +1.29 +1.25 +0.42 -0.17 -0.15 -0.03 -0.02 — 17:05
78 Jacob Bryson D +1.09 +0.55 +0.02 +0.54 0.00 0.00 -0.02 — 9:00
25 Owen Power D +0.96 +0.75 +0.13 +0.06 0.00 0.00 +0.02 — 21:17
6 Zach Benson L +0.70 0.00 +0.08 +0.62 0.00 0.00 0.00 — 14:08
89 Alex Tuch R +0.47 +0.75 +0.33 -0.77 +0.15 -0.01 +0.03 — 21:42
48 Tyson Kozak C +0.44 0.00 +0.04 +0.39 0.00 -0.01 +0.02 — 7:35
34 Alex Lyon G +0.42 0.00 — — 0.00 — — +0.42 17:29
29 Beck Malenstyn L +0.38 0.00 +0.16 +0.37 -0.15 0.00 0.00 — 7:30
72 Tage Thompson C +0.29 +0.75 +0.16 -0.77 +0.15 -0.05 +0.05 — 21:22
23 Mattias Samuelsson D +0.23 0.00 +0.01 +0.17 +0.08 0.00 -0.02 — 20:24
21 Conor Timmins D +0.07 0.00 0.00 -0.11 +0.15 0.00 +0.03 — 17:17
4 Bowen Byram D +0.01 0.00 +0.05 -0.16 0.00 0.00 +0.12 — 19:54
71 Ryan McLeod C -0.04 0.00 +0.08 -0.16 0.00 +0.04 0.00 — 17:14
22 Jack Quinn R -0.40 0.00 +0.05 -0.37 -0.15 +0.02 +0.05 — 16:19
12 Jordan Greenway L -0.83 0.00 +0.02 -0.83 0.00 -0.02 0.00 — 9:44
1 Ukko-Pekka Luukkonen G -2.14 0.00 — — 0.00 — — -2.14 40:00

Calgary Flames

Player Rating Points Shots On ice Pen FO Other GSAx TOI
17 Yegor Sharangovich C +3.13 +2.05 +0.52 +0.60 0.00 -0.02 -0.02 — 15:27
91 Nazem Kadri C +2.63 +1.85 +0.15 +0.64 0.00 +0.01 -0.02 — 18:32
86 Joel Farabee L +1.98 +0.70 +0.44 +0.43 +0.30 -0.01 +0.12 — 15:11
4 Rasmus Andersson D +1.34 +0.75 +0.15 +0.31 0.00 0.00 +0.13 — 25:49
37 Yan Kuznetsov D +1.25 +1.45 +0.20 -0.48 0.00 0.00 +0.08 — 22:12
11 Mikael Backlund C +1.16 +0.75 +0.52 0.00 -0.15 +0.05 -0.02 — 16:29
20 Blake Coleman L +1.01 +0.70 +0.26 +0.03 0.00 0.00 +0.03 — 17:02
27 Matt Coronato R +0.70 +1.40 +0.04 -0.78 0.00 -0.01 +0.05 — 16:10
7 Kevin Bahl D +0.40 0.00 +0.02 +0.38 -0.08 0.00 +0.08 — 24:14
52 MacKenzie Weegar D +0.22 +0.70 +0.04 -0.50 0.00 0.00 -0.02 — 22:11
70 Ryan Lomberg L +0.21 0.00 0.00 +0.19 -0.08 0.00 +0.10 — 7:57
43 Adam Klapka R +0.19 0.00 +0.13 +0.12 -0.08 +0.01 0.00 — 6:58
94 Brayden Pachal D +0.14 0.00 +0.01 -0.04 +0.15 0.00 +0.03 — 10:40
47 Connor Zary C +0.14 0.00 +0.05 +0.10 0.00 +0.02 -0.04 — 13:51
10 Jonathan Huberdeau L +0.11 +0.75 +0.24 -0.86 0.00 0.00 -0.02 — 19:25
44 Joel Hanley D +0.04 0.00 0.00 -0.03 0.00 0.00 +0.07 — 10:24
18 John Beecher C -0.08 0.00 0.00 -0.01 0.00 -0.07 0.00 — 10:10
16 Morgan Frost C -0.21 +0.55 0.00 -0.77 -0.15 +0.06 +0.10 — 14:55
32 Dustin Wolf G -0.92 0.00 — — -0.08 — — -0.84 60:00

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.