Montréal CanadiensMTL 4–2 Final Buffalo SabresBUF

Saturday, January 31, 2026

Final 1st2nd3rd T SOG
Montréal CanadiensMTL 103 4 31
Buffalo SabresBUF 020 2 38

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

Highlights

Scoring

1st Period
11:20 MTL Juraj Slafkovský (21)PP Nick Suzuki (45), Cole Caufield (25) · wrist xG 0.14 1–0 ▶
2nd Period
7:36 BUF Owen Power (4) Tage Thompson (28), Rasmus Dahlin (33) · wrist xG 0.08 1–1 ▶
18:58 BUF Noah Ostlund (10)PP Alex Tuch (25), Bowen Byram (17) · slap xG 0.22 1–2 ▶
3rd Period
4:14 MTL Cole Caufield (31) Noah Dobson (24), Lane Hutson (47) · tip-in xG 0.08 2–2 ▶
10:13 MTL Cole Caufield (32) Nick Suzuki (46), Kirby Dach (4) · snap xG 0.28 3–2 ▶
19:12 MTL Oliver Kapanen (17)EN Noah Dobson (25) · wrist xG 0.44 4–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

MTL 30%Deserve to win70% BUF
MTLBUF
4.34Expected goals4.28
4Goals (no shootout)2
2.48Expected goals, 5 on 53.15
53Shot attempts77
42Unblocked attempts56
31Shots on goal38

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

1st Period
11:20 MTL Deserve to win Deserve to win · MTL takes the lead, 62–38%
BUF had led since 3:44 of the 1st, by as much as 67%
2nd Period
9:46 BUF Deserve to win Deserve to win · BUF takes the lead, 61–39%
MTL had led since 11:20 of the 1st, by as much as 62%
19:00 BUF xG swing xG swing · Out-chanced MTL 1.56–0.19
In xG over 10 minutes, 9:00 to 19:00 of the 2nd; goals 1–0
3rd Period
10:20 MTL xG swing xG swing · Out-chanced BUF 1.29–0.28
In xG over 10 minutes, 0:20 to 10:20 of the 3rd; goals 2–0
16:34 MTL Goalie Goalie · Dobes +2.0 goals saved
2 goals on 4.02 xG, 37 shots on goal
18:00 BUF Pulled goalie Pulled goalie · Pulled Lyon, down 3–2
With 2:00 left; MTL scored at 19:12 of the 3rd (4–2)
19:21 BUF Pulled goalie Pulled goalie · Pulled Lyon, down 4–2
With 0:39 left

Shot map

MTL shoots ←Bigger circle: higher xG; filled: goal→ BUF shoots
Beck Malenstyn: snap, 25 ft, xG 0.04 (P1 2:17) Alex Tuch: tip-in, 15 ft, xG 0.03 (P1 2:24) Mike Matheson: wrist, 56 ft, xG 0.02 (P1 3:02) Jason Zucker: tip-in, 9 ft, xG 0.04 (P1 3:36) Jason Zucker: slap, 23 ft, xG 0.14 (P1 3:44) Owen Power: snap, 55 ft, xG 0.02 (P1 5:47) Tage Thompson: snap, 39 ft, xG 0.04 (P1 6:02) Alex Tuch: tip-in, 11 ft, xG 0.10 (P1 6:18) Juraj Slafkovský: tip-in, 9 ft, xG 0.08 (P1 7:30) Oliver Kapanen: wrist, 83 ft, xG 0.00 (P1 7:57) Kirby Dach: wrist, 25 ft, xG 0.10 (P1 9:10) Tage Thompson: snap, 42 ft, xG 0.04 (P1 9:18) Phillip Danault: wrist, 7 ft, xG 0.38 (P1 9:58) Ivan Demidov: wrist, 35 ft, xG 0.06 (P1 10:16) Zach Benson: snap, 11 ft, xG 0.18 (P1 11:47) Jack Quinn: snap, 54 ft, xG 0.01 (P1 12:03) Zachary Bolduc: tip-in, 23 ft, xG 0.04 (P1 14:27) Mike Matheson: wrist, 48 ft, xG 0.03 (P1 15:08) Jack Quinn: slap, 52 ft, xG 0.02 (P1 15:23) Juraj Slafkovský: backhand, 171 ft, xG 0.00 (P1 16:53) Rasmus Dahlin: snap, 45 ft, xG 0.03 (P1 17:24) Rasmus Dahlin: slap, 59 ft, xG 0.01 (P1 17:36) Josh Doan: deflected, 10 ft, xG 0.11 (P1 17:38) Mattias Samuelsson: wrist, 47 ft, xG 0.01 (P1 17:56) Konsta Helenius: snap, 31 ft, xG 0.08 (P1 18:04) Cole Caufield: slap, 40 ft, xG 0.02 (P1 19:00) Ivan Demidov: slap, 33 ft, xG 0.08 (P1 19:30) Ivan Demidov: snap, 25 ft, xG 0.15 (P1 19:43) Rasmus Dahlin: snap, 38 ft, xG 0.09 (P2 2:21) Cole Caufield: snap, 37 ft, xG 0.05 (P2 3:40) Cole Caufield: snap, 25 ft, xG 0.02 (P2 5:09) Kaiden Guhle: wrist, 54 ft, xG 0.01 (P2 5:46) Tage Thompson: snap, 59 ft, xG 0.01 (P2 7:11) Konsta Helenius: snap, 81 ft, xG 0.00 (P2 8:49) Josh Doan: snap, 7 ft, xG 0.32 (P2 9:13) Josh Doan: wrist, 4 ft, xG 0.17 (P2 9:14) Noah Dobson: slap, 41 ft, xG 0.06 (P2 9:30) Alex Tuch: wrist, 5 ft, xG 0.15 (P2 9:46) Jack Quinn: slap, 33 ft, xG 0.07 (P2 10:51) Oliver Kapanen: wrist, 38 ft, xG 0.01 (P2 11:11) Owen Power: slap, 53 ft, xG 0.02 (P2 11:19) Josh Doan: tip-in, 10 ft, xG 0.09 (P2 12:08) Noah Dobson: slap, 67 ft, xG 0.01 (P2 12:20) Jake Evans: tip-in, 6 ft, xG 0.11 (P2 13:28) Jason Zucker: wrap-around, 7 ft, xG 0.07 (P2 14:14) Tage Thompson: snap, 39 ft, xG 0.04 (P2 15:30) Ryan McLeod: snap, 58 ft, xG 0.03 (P2 16:54) Josh Doan: wrist, 6 ft, xG 0.21 (P2 17:37) Nick Suzuki: backhand, 115 ft, xG 0.00 (P2 17:51) Ryan McLeod: snap, 25 ft, xG 0.17 (P2 18:53) Lane Hutson: slap, 47 ft, xG 0.01 (P2 19:11) Juraj Slafkovský: snap, 35 ft, xG 0.02 (P2 19:40) Nick Suzuki: wrist, 27 ft, xG 0.03 (P3 0:25) Lane Hutson: backhand, 3 ft, xG 0.45 (P3 0:40) Ivan Demidov: wrist, 7 ft, xG 0.04 (P3 0:41) Lane Hutson: wrist, 12 ft, xG 0.25 (P3 0:43) Noah Dobson: slap, 34 ft, xG 0.03 (P3 0:55) Ivan Demidov: wrist, 38 ft, xG 0.01 (P3 1:05) Ivan Demidov: backhand, 11 ft, xG 0.05 (P3 1:14) Konsta Helenius: wrist, 151 ft, xG 0.00 (P3 1:57) Rasmus Dahlin: slap, 51 ft, xG 0.07 (P3 2:10) Alex Tuch: wrist, 7 ft, xG 0.17 (P3 2:59) Alex Tuch: backhand, 10 ft, xG 0.02 (P3 3:00) Cole Caufield: wrist, 19 ft, xG 0.04 (P3 3:23) Zachary Bolduc: wrist, 41 ft, xG 0.04 (P3 6:16) Tage Thompson: slap, 65 ft, xG 0.01 (P3 7:44) Konsta Helenius: snap, 58 ft, xG 0.01 (P3 8:00) Tage Thompson: snap, 28 ft, xG 0.10 (P3 10:52) Rasmus Dahlin: snap, 65 ft, xG 0.01 (P3 10:59) Owen Power: snap, 13 ft, xG 0.20 (P3 11:13) Jason Zucker: wrist, 19 ft, xG 0.11 (P3 11:33) Bowen Byram: slap, 49 ft, xG 0.02 (P3 11:36) Juraj Slafkovský: snap, 32 ft, xG 0.07 (P3 12:14) Juraj Slafkovský: bat, 7 ft, xG 0.08 (P3 12:17) Juraj Slafkovský: snap, 43 ft, xG 0.02 (P3 12:33) Noah Dobson: wrist, 25 ft, xG 0.12 (P3 13:20) Alexandre Carrier: slap, 67 ft, xG 0.00 (P3 13:23) Owen Power: snap, 40 ft, xG 0.06 (P3 13:59) Peyton Krebs: wrist, 11 ft, xG 0.05 (P3 14:00) Owen Power: snap, 27 ft, xG 0.09 (P3 14:09) Mattias Samuelsson: backhand, 8 ft, xG 0.16 (P3 14:50) Jack Quinn: backhand, 6 ft, xG 0.10 (P3 14:51) Jack Quinn: backhand, 12 ft, xG 0.05 (P3 14:52) Bowen Byram: snap, 134 ft, xG 0.00 (P3 15:43) Bowen Byram: backhand, 13 ft, xG 0.12 (P3 16:21) Jack Quinn: slap, 41 ft, xG 0.05 (P3 16:34) Tage Thompson: snap, 45 ft, xG 0.05 (P3 17:13) Tage Thompson: slap, 38 ft, xG 0.09 (P3 17:23) Zach Benson: wrist, 10 ft, xG 0.07 (P3 18:28) Mike Matheson: wrist, 168 ft, xG 0.44 (P3 19:39) Jason Zucker: deflected, 7 ft, xG 0.06 (P3 19:47) Juraj Slafkovský: wrist, 139 ft, xG 0.50 (P3 19:54) Juraj Slafkovský: GOAL, wrist, 17 ft, xG 0.14 (P1 11:20) Owen Power: GOAL, wrist, 38 ft, xG 0.08 (P2 7:36) Noah Ostlund: GOAL, slap, 25 ft, xG 0.22 (P2 18:58) Cole Caufield: GOAL, tip-in, 16 ft, xG 0.08 (P3 4:14) Cole Caufield: GOAL, snap, 8 ft, xG 0.28 (P3 10:13) Oliver Kapanen: GOAL, wrist, 170 ft, xG 0.44 (P3 19:12)
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

Montréal Canadiens

Skater GAP+/− AttxG HitBlkTOI
Forwards
14 Nick Suzuki 022 +3 50.03 0118:52
24 Phillip Danault 000 0 10.38 1118:11
91 Oliver Kapanen 101 +1 40.45 1217:30
20 Juraj Slafkovský 101 +1 80.90 2017:28
93 Ivan Demidov 000 0 60.39 0016:51
71 Jake Evans 000 -1 10.11 0116:31
13 Cole Caufield 213 +2 60.49 3115:39
77 Kirby Dach 011 +2 20.10 2112:29
17 Josh Anderson 000 0 20.00 3012:11
90 Joseph Veleno 000 -1 10.00 2110:33
7 Brendan Gallagher 000 0 10.00 5010:18
76 Zachary Bolduc 000 -1 20.08 1010:10
Defense
8 Mike Matheson 000 -1 30.48 0427:31
53 Noah Dobson 022 +3 60.21 2220:34
45 Alexandre Carrier 000 -1 10.00 1120:26
48 Lane Hutson 011 +1 30.71 0120:12
21 Kaiden Guhle 000 +2 10.01 3419:29
72 Arber Xhekaj 000 0 00.00 3007:09
Goalie SAGA SVSV% xGA GSAx
Jakub Dobes 38236 .947 4.28 +2.28

Buffalo Sabres

Skater GAP+/− AttxG HitBlkTOI
Forwards
89 Alex Tuch 011 0 70.46 1022:27
72 Tage Thompson 011 +1 120.38 1022:21
6 Zach Benson 000 0 30.25 1020:43
17 Jason Zucker 000 -1 60.42 2018:40
71 Ryan McLeod 000 0 20.19 0017:36
22 Jack Quinn 000 -1 70.30 0017:28
91 Josh Doan 000 -1 70.89 4017:22
86 Noah Ostlund 101 -2 40.22 0013:16
94 Konsta Helenius 000 -1 40.10 1009:54
19 Peyton Krebs 000 -1 10.05 1009:40
29 Beck Malenstyn 000 0 10.04 3208:48
48 Tyson Kozak 000 0 00.00 1006:51
Defense
26 Rasmus Dahlin 011 0 60.21 3126:03
25 Owen Power 101 0 60.46 0224:02
23 Mattias Samuelsson 000 0 40.17 6021:50
24 Bowen Byram 011 -2 60.14 0120:17
73 Zach Metsa 000 0 00.00 0010:46
7 Michael Kesselring 000 -2 10.00 0108:53
Goalie SAGA SVSV% xGA GSAx
Alex Lyon 30327 .900 2.96 -0.04

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.

Montréal Canadiens

Player Rating Points Shots On ice Pen FO Other GSAx TOI
53 Noah Dobson D +2.71 +1.40 +0.13 +1.24 -0.15 0.00 +0.08 — 20:32
13 Cole Caufield R +2.57 +2.05 +0.32 +0.16 0.00 0.00 +0.05 — 15:39
75 Jakub Dobes G +2.28 0.00 — — 0.00 — — +2.28 59:58
20 Juraj Slafkovský L +1.92 +0.75 +0.59 +0.56 0.00 +0.02 0.00 — 17:26
14 Nick Suzuki C +1.83 +1.40 +0.02 +0.17 +0.15 +0.02 +0.07 — 18:52
48 Lane Hutson D +1.76 +0.55 +0.46 +0.96 -0.30 0.00 +0.09 — 20:10
91 Oliver Kapanen C +1.60 +0.75 +0.29 +0.43 0.00 +0.04 +0.08 — 17:28
93 Ivan Demidov R +0.81 0.00 +0.25 +0.56 0.00 0.00 0.00 — 16:49
77 Kirby Dach C +0.64 +0.55 +0.06 +0.15 -0.15 0.00 +0.03 — 12:29
24 Phillip Danault C -0.07 0.00 +0.25 -0.58 +0.15 +0.08 +0.03 — 18:13
21 Kaiden Guhle D -0.22 0.00 +0.01 -0.54 +0.15 0.00 +0.16 — 19:29
17 Josh Anderson R -0.38 0.00 0.00 -0.38 0.00 0.00 0.00 — 12:11
11 Brendan Gallagher R -0.38 0.00 0.00 -0.38 0.00 0.00 0.00 — 10:18
71 Jake Evans C -0.54 0.00 +0.07 -0.70 0.00 +0.07 +0.01 — 16:33
45 Alexandre Carrier D -0.54 0.00 0.00 -0.58 0.00 0.00 +0.03 — 20:28
76 Zachary Bolduc R -0.61 0.00 +0.05 -0.65 0.00 0.00 -0.02 — 10:10
72 Arber Xhekaj D -0.65 0.00 0.00 -0.65 0.00 0.00 0.00 — 7:09
8 Mike Matheson D -0.69 0.00 +0.31 -1.19 0.00 0.00 +0.18 — 27:33
90 Joseph Veleno C -0.70 0.00 0.00 -0.75 0.00 0.00 +0.05 — 10:33

Buffalo Sabres

Player Rating Points Shots On ice Pen FO Other GSAx TOI
26 Rasmus Dahlin D +1.69 +0.55 +0.14 +1.02 0.00 0.00 -0.01 — 26:03
86 Noah Ostlund C +1.46 +0.75 +0.15 +0.59 0.00 0.00 -0.02 — 13:18
25 Owen Power D +1.32 +0.75 +0.30 +0.17 0.00 0.00 +0.10 — 24:00
89 Alex Tuch R +1.25 +0.70 +0.30 +0.12 +0.15 -0.02 0.00 — 22:29
91 Josh Doan R +1.16 0.00 +0.58 +0.62 0.00 0.00 -0.04 — 17:22
72 Tage Thompson C +0.84 +0.70 +0.24 +0.12 -0.15 -0.07 0.00 — 22:21
94 Konsta Helenius C +0.48 0.00 +0.06 +0.44 0.00 -0.01 -0.02 — 9:54
6 Zach Benson L +0.41 0.00 +0.16 +0.27 0.00 0.00 -0.02 — 20:45
73 Zach Metsa D +0.26 0.00 0.00 +0.26 0.00 0.00 0.00 — 10:46
23 Mattias Samuelsson D +0.24 0.00 +0.11 +0.10 0.00 0.00 +0.02 — 21:48
4 Bowen Byram D +0.16 +0.55 +0.09 -0.53 0.00 0.00 +0.05 — 20:19
17 Jason Zucker L +0.16 0.00 +0.27 -0.25 +0.15 -0.01 0.00 — 18:40
71 Ryan McLeod C +0.02 0.00 +0.13 +0.05 0.00 -0.07 -0.08 — 17:38
22 Jack Quinn R +0.01 0.00 +0.20 -0.19 0.00 0.00 0.00 — 17:28
34 Alex Lyon G -0.04 0.00 — — 0.00 — — -0.04 57:43
29 Beck Malenstyn L -0.06 0.00 +0.03 -0.15 0.00 -0.01 +0.08 — 8:46
8 Michael Kesselring D -0.12 0.00 0.00 -0.17 0.00 0.00 +0.05 — 8:53
19 Peyton Krebs C -0.12 0.00 +0.03 -0.11 0.00 -0.04 0.00 — 9:38
48 Tyson Kozak C -0.21 0.00 0.00 -0.21 0.00 0.00 0.00 — 6:49

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.