Calgary FlamesCGY 6–2 Final Buffalo SabresBUF

Wednesday, November 19, 2025

Final 1st2nd3rd T SOG
Calgary FlamesCGY 204 6 35
Buffalo SabresBUF 020 2 30

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

Highlights

Scoring

1st Period
5:58 CGY Rasmus Andersson (5) Yegor Sharangovich (3), Kevin Bahl (3) · wrist xG 0.22 1–0 ▶
12:04 CGY Joel Farabee (3) Nazem Kadri (9), Yegor Sharangovich (4) · tip-in xG 0.12 2–0 ▶
2nd Period
10:21 BUF Mattias Samuelsson (4) Unassisted · snap xG 0.06 2–1 ▶
15:57 BUF Tage Thompson (10) Mattias Samuelsson (6), Rasmus Dahlin (13) · slap xG 0.04 2–2 ▶
3rd Period
2:02 CGY Morgan Frost (4) Jonathan Huberdeau (6), Matt Coronato (5) · wrist xG 0.19 3–2 ▶
7:34 CGY Mikael Backlund (4) Rasmus Andersson (6) · snap xG 0.15 4–2 ▶
9:50 CGY Joel Farabee (4) Rasmus Andersson (7), Nazem Kadri (10) · wrist xG 0.16 5–2 ▶
17:49 CGY Matt Coronato (7) Jonathan Huberdeau (7), Morgan Frost (8) · slap xG 0.28 6–2 ▶

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

CGY 73%Deserve to win27% BUF
CGYBUF
2.97Expected goals1.68
6Goals (no shootout)2
2.47Expected goals, 5 on 51.52
73Shot attempts60
48Unblocked attempts43
35Shots on goal30

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
9:50 BUF Goalie Goalie · Ellis −2.6 goals saved
5 goals on 2.42 xG, 28 shots on goal

Shot map

CGY shoots ←Bigger circle: higher xG; filled: goal→ BUF shoots
Yan Kuznetsov: wrist, 47 ft, xG 0.02 (P1 0:27) MacKenzie Weegar: wrist, 59 ft, xG 0.01 (P1 0:37) Bowen Byram: wrist, 49 ft, xG 0.01 (P1 1:09) Connor Zary: wrist, 43 ft, xG 0.03 (P1 1:33) Conor Timmins: wrist, 50 ft, xG 0.01 (P1 2:00) Jack Quinn: wrist, 27 ft, xG 0.03 (P1 2:21) Nazem Kadri: wrist, 28 ft, xG 0.04 (P1 5:31) Kevin Bahl: slap, 59 ft, xG 0.03 (P1 5:54) Josh Doan: snap, 49 ft, xG 0.02 (P1 7:28) Nazem Kadri: wrist, 41 ft, xG 0.02 (P1 8:07) Nazem Kadri: wrist, 28 ft, xG 0.15 (P1 8:12) Tyson Kozak: wrist, 24 ft, xG 0.06 (P1 8:49) MacKenzie Weegar: wrist, 49 ft, xG 0.01 (P1 12:44) Rasmus Dahlin: wrist, 31 ft, xG 0.08 (P1 15:14) Tyson Kozak: snap, 23 ft, xG 0.13 (P1 16:29) Owen Power: wrist, 41 ft, xG 0.04 (P1 16:37) Connor Zary: wrist, 14 ft, xG 0.04 (P1 16:48) Nazem Kadri: slap, 24 ft, xG 0.13 (P1 18:40) Rasmus Andersson: slap, 53 ft, xG 0.05 (P1 18:56) Nazem Kadri: wrist, 30 ft, xG 0.10 (P1 19:13) Nazem Kadri: wrist, 7 ft, xG 0.07 (P1 19:28) MacKenzie Weegar: slap, 42 ft, xG 0.08 (P1 19:36) Nazem Kadri: wrist, 35 ft, xG 0.06 (P1 19:55) Rasmus Dahlin: slap, 32 ft, xG 0.12 (P2 0:19) Alex Tuch: wrist, 42 ft, xG 0.01 (P2 0:37) Matt Coronato: wrist, 14 ft, xG 0.20 (P2 1:28) Beck Malenstyn: wrist, 42 ft, xG 0.01 (P2 1:50) Peyton Krebs: tip-in, 21 ft, xG 0.03 (P2 1:55) Josh Dunne: wrist, 65 ft, xG 0.01 (P2 4:08) Alex Tuch: wrist, 48 ft, xG 0.03 (P2 6:04) Alex Tuch: wrist, 49 ft, xG 0.03 (P2 6:23) Josh Doan: wrist, 30 ft, xG 0.02 (P2 6:42) Peyton Krebs: snap, 10 ft, xG 0.18 (P2 7:19) Brayden Pachal: wrist, 61 ft, xG 0.00 (P2 7:49) Mikael Backlund: wrist, 47 ft, xG 0.01 (P2 8:41) Matt Coronato: wrist, 41 ft, xG 0.05 (P2 9:58) Noah Ostlund: tip-in, 11 ft, xG 0.07 (P2 12:04) Rasmus Dahlin: wrist, 49 ft, xG 0.03 (P2 12:46) John Beecher: wrist, 39 ft, xG 0.01 (P2 13:12) Tage Thompson: wrist, 34 ft, xG 0.07 (P2 15:09) Beck Malenstyn: bat, 7 ft, xG 0.02 (P2 15:10) Blake Coleman: wrist, 64 ft, xG 0.01 (P2 15:34) Rasmus Andersson: wrist, 47 ft, xG 0.01 (P2 15:40) Mattias Samuelsson: slap, 31 ft, xG 0.02 (P2 15:49) Nazem Kadri: wrist, 20 ft, xG 0.06 (P2 16:59) Josh Doan: snap, 9 ft, xG 0.04 (P2 17:47) Matt Coronato: wrist, 38 ft, xG 0.05 (P2 18:47) Joel Farabee: tip-in, 26 ft, xG 0.06 (P2 19:24) Yegor Sharangovich: wrist, 8 ft, xG 0.07 (P2 19:25) Joel Hanley: wrist, 53 ft, xG 0.02 (P3 1:28) Alex Tuch: wrist, 51 ft, xG 0.02 (P3 3:31) Adam Klapka: snap, 33 ft, xG 0.09 (P3 5:11) MacKenzie Weegar: snap, 53 ft, xG 0.01 (P3 5:24) John Beecher: snap, 66 ft, xG 0.01 (P3 5:29) Beck Malenstyn: snap, 38 ft, xG 0.01 (P3 6:53) Mattias Samuelsson: backhand, 26 ft, xG 0.04 (P3 6:55) Ryan McLeod: wrist, 41 ft, xG 0.01 (P3 7:08) Rasmus Andersson: slap, 49 ft, xG 0.01 (P3 7:32) Joel Hanley: wrist, 67 ft, xG 0.01 (P3 8:12) Connor Zary: backhand, 14 ft, xG 0.07 (P3 8:21) Ryan McLeod: wrist, 30 ft, xG 0.06 (P3 8:50) Kevin Bahl: wrist, 63 ft, xG 0.02 (P3 9:22) Mikael Backlund: wrist, 43 ft, xG 0.03 (P3 10:22) Blake Coleman: snap, 91 ft, xG 0.00 (P3 10:45) Rasmus Dahlin: wrist, 62 ft, xG 0.01 (P3 11:02) Beck Malenstyn: tip-in, 5 ft, xG 0.04 (P3 11:03) Bowen Byram: slap, 65 ft, xG 0.01 (P3 12:02) Joel Farabee: slap, 29 ft, xG 0.09 (P3 12:11) Jonathan Huberdeau: wrist, 91 ft, xG 0.00 (P3 13:59) Jack Quinn: wrist, 38 ft, xG 0.06 (P3 14:39) Jack Quinn: backhand, 21 ft, xG 0.02 (P3 14:40) Blake Coleman: wrist, 40 ft, xG 0.02 (P3 15:00) Noah Ostlund: wrist, 40 ft, xG 0.02 (P3 15:12) Joel Farabee: snap, 30 ft, xG 0.12 (P3 15:30) Tage Thompson: wrist, 48 ft, xG 0.02 (P3 16:17) Mattias Samuelsson: wrist, 60 ft, xG 0.02 (P3 16:23) Mattias Samuelsson: wrist, 45 ft, xG 0.01 (P3 16:29) Sam Morton: tip-in, 74 ft, xG 0.00 (P3 16:43) Kevin Bahl: wrist, 57 ft, xG 0.00 (P3 16:49) Tyson Kozak: wrist, 55 ft, xG 0.01 (P3 18:13) Ryan McLeod: wrist, 58 ft, xG 0.02 (P3 19:11) Ryan McLeod: slap, 29 ft, xG 0.04 (P3 19:24) Beck Malenstyn: slap, 35 ft, xG 0.09 (P3 19:31) Rasmus Andersson: GOAL, wrist, 16 ft, xG 0.22 (P1 5:58) Joel Farabee: GOAL, tip-in, 8 ft, xG 0.12 (P1 12:04) Mattias Samuelsson: GOAL, snap, 33 ft, xG 0.06 (P2 10:21) Tage Thompson: GOAL, slap, 53 ft, xG 0.04 (P2 15:57) Morgan Frost: GOAL, wrist, 8 ft, xG 0.19 (P3 2:02) Mikael Backlund: GOAL, snap, 14 ft, xG 0.15 (P3 7:34) Joel Farabee: GOAL, wrist, 22 ft, xG 0.16 (P3 9:50) Matt Coronato: GOAL, slap, 11 ft, xG 0.28 (P3 17:49)
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

Calgary Flames

Skater GAP+/− AttxG HitBlkTOI
Forwards
86 Joel Farabee 202 +2 60.55 0118:27
91 Nazem Kadri 022 +2 100.62 1018:05
20 Blake Coleman 000 +1 50.03 2117:16
11 Mikael Backlund 101 +1 50.19 0016:53
17 Yegor Sharangovich 022 +2 10.07 0016:21
10 Jonathan Huberdeau 022 +1 20.00 3014:55
16 Morgan Frost 112 +1 20.19 1113:49
47 Connor Zary 000 +1 30.13 0113:33
27 Matt Coronato 112 +1 40.57 0013:21
17 John Beecher 000 0 30.02 1112:47
43 Adam Klapka 000 0 10.09 1009:12
Defense
4 Rasmus Andersson 123 +2 40.29 0323:51
7 Kevin Bahl 011 +3 40.06 0022:12
52 MacKenzie Weegar 000 0 100.10 1121:55
37 Yan Kuznetsov 000 -1 20.02 0220:39
44 Joel Hanley 000 +2 40.03 1415:53
94 Brayden Pachal 000 +2 60.00 4014:26
Goalie SAGA SVSV% xGA GSAx
Devin Cooley 30228 .933 1.68 -0.32

Buffalo Sabres

Skater GAP+/− AttxG HitBlkTOI
Forwards
72 Tage Thompson 101 -1 40.14 1019:27
19 Peyton Krebs 000 -1 30.21 0218:03
71 Ryan McLeod 000 -2 60.14 0017:20
89 Alex Tuch 000 -1 50.09 2016:19
22 Jack Quinn 000 -2 50.10 0115:47
91 Josh Doan 000 -1 40.08 0115:26
12 Jordan Greenway 000 -2 00.00 1114:35
48 Tyson Kozak 000 -2 30.19 6114:17
29 Beck Malenstyn 000 +1 50.17 3214:08
86 Noah Ostlund 000 +1 20.09 0112:36
44 Josh Dunne 000 0 20.01 2009:22
Defense
26 Rasmus Dahlin 011 +1 70.24 0424:16
23 Mattias Samuelsson 112 +1 50.15 0222:44
25 Owen Power 000 -2 10.04 0221:02
24 Bowen Byram 000 -3 40.02 0119:51
21 Conor Timmins 000 -3 40.01 2516:37
78 Jacob Bryson 000 -2 00.00 0111:53
Goalie SAGA SVSV% xGA GSAx
Colten Ellis 35629 .829 2.97 -3.03

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.

Calgary Flames

Player Rating Points Shots On ice Pen FO Other GSAx TOI
4 Rasmus Andersson D +3.01 +2.15 +0.19 +0.54 0.00 0.00 +0.13 — 23:51
86 Joel Farabee L +2.70 +1.50 +0.36 +0.83 0.00 0.00 +0.01 — 18:27
91 Nazem Kadri C +2.57 +1.25 +0.40 +0.88 0.00 +0.04 0.00 — 18:05
27 Matt Coronato R +2.22 +1.30 +0.37 +0.58 0.00 -0.03 0.00 — 13:21
17 Yegor Sharangovich C +2.19 +1.25 +0.04 +0.94 0.00 -0.02 -0.02 — 16:21
10 Jonathan Huberdeau L +1.98 +1.40 0.00 +0.56 0.00 +0.01 0.00 — 14:55
16 Morgan Frost C +1.96 +1.30 +0.12 +0.58 -0.15 +0.05 +0.05 — 13:49
7 Kevin Bahl D +1.36 +0.55 +0.04 +0.77 0.00 0.00 0.00 — 22:12
11 Mikael Backlund C +1.26 +0.75 +0.13 +0.37 0.00 +0.01 0.00 — 16:53
44 Joel Hanley D +1.26 0.00 +0.02 +1.19 -0.15 0.00 +0.20 — 15:53
94 Brayden Pachal D +0.69 0.00 0.00 +0.69 0.00 0.00 0.00 — 14:26
52 MacKenzie Weegar D +0.51 0.00 +0.07 +0.43 0.00 0.00 +0.01 — 21:55
47 Connor Zary C +0.50 0.00 +0.09 +0.37 0.00 -0.01 +0.05 — 13:33
20 Blake Coleman L +0.32 0.00 +0.02 +0.42 -0.15 0.00 +0.03 — 17:16
45 Sam Morton C +0.02 0.00 0.00 -0.18 +0.15 0.00 +0.05 — 10:25
43 Adam Klapka R -0.10 0.00 +0.06 -0.16 0.00 0.00 0.00 — 9:12
18 John Beecher C -0.16 0.00 +0.01 -0.22 0.00 -0.01 +0.05 — 12:47
37 Yan Kuznetsov D -0.23 0.00 +0.01 -0.32 0.00 0.00 +0.08 — 20:39
1 Devin Cooley G -0.32 0.00 — — 0.00 — — -0.32 60:00

Buffalo Sabres

Player Rating Points Shots On ice Pen FO Other GSAx TOI
23 Mattias Samuelsson D +1.90 +1.45 +0.10 +0.27 0.00 0.00 +0.08 — 22:44
26 Rasmus Dahlin D +0.93 +0.55 +0.16 +0.08 0.00 0.00 +0.14 — 24:16
29 Beck Malenstyn L +0.84 0.00 +0.11 +0.47 +0.15 0.00 +0.10 — 14:08
86 Noah Ostlund C +0.46 0.00 +0.06 +0.22 +0.15 -0.03 +0.05 — 12:36
19 Peyton Krebs C +0.44 0.00 +0.14 +0.22 0.00 +0.01 +0.08 — 18:03
72 Tage Thompson C -0.03 +0.75 +0.09 -0.87 0.00 +0.01 0.00 — 19:27
71 Ryan McLeod C -0.11 0.00 +0.09 -0.22 0.00 +0.02 0.00 — 17:20
44 Josh Dunne C -0.30 0.00 0.00 -0.12 -0.15 +0.01 -0.04 — 9:22
25 Owen Power D -0.47 0.00 +0.03 -0.58 0.00 0.00 +0.08 — 21:02
78 Jacob Bryson D -0.54 0.00 0.00 -0.59 0.00 0.00 +0.05 — 11:53
89 Alex Tuch R -0.59 0.00 +0.06 -0.61 0.00 -0.01 -0.02 — 16:19
63 Isak Rosen R -0.60 0.00 0.00 -0.79 +0.15 +0.01 +0.03 — 14:17
48 Tyson Kozak C -0.66 0.00 +0.13 -0.78 0.00 -0.04 +0.03 — 14:17
22 Jack Quinn R -0.70 0.00 +0.07 -0.78 0.00 -0.02 +0.03 — 15:47
12 Jordan Greenway L -0.75 0.00 0.00 -0.78 0.00 0.00 +0.03 — 14:35
91 Josh Doan R -0.82 0.00 +0.05 -0.92 0.00 0.00 +0.05 — 15:26
21 Conor Timmins D -1.00 0.00 0.00 -1.24 0.00 0.00 +0.23 — 16:37
4 Bowen Byram D -1.20 0.00 +0.01 -1.26 0.00 0.00 +0.05 — 19:51
92 Colten Ellis G -3.03 0.00 — — 0.00 — — -3.03 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.