Edmonton OilersEDM 3–4 Final Calgary FlamesCGY

Wednesday, February 4, 2026

Final 1st2nd3rd T SOG
Edmonton OilersEDM 111 3 39
Calgary FlamesCGY 211 4 25
Playoff odds, % Change
EDM -5.9
CGY +0.2
LAK +1.2
UTA +0.9
NSH +0.8
SEA +0.8
SJS +0.7
VGK +0.6
ANA +0.5

How the result moved each team's playoff odds, calculated Feb 4, 2026 9:12 PM EST.

Highlights

Scoring

1st Period
3:12 CGY Jonathan Huberdeau (10)PP MacKenzie Weegar (16), Matvei Gridin (3) · snap xG 0.09 0–1 ▶
5:14 EDM Leon Draisaitl (28)PP Ryan Nugent-Hopkins (32), Evan Bouchard (46) · wrist xG 0.12 1–1 ▶
14:44 CGY Matvei Gridin (3)PP MacKenzie Weegar (17), Devin Cooley (1) · snap xG 0.12 1–2 ▶
2nd Period
11:43 CGY Connor Zary (9) Zach Whitecloud (7), Nazem Kadri (28) · deflected xG 0.12 1–3 ▶
18:26 EDM Leon Draisaitl (29)PP Evan Bouchard (47), Connor McDavid (62) · snap xG 0.12 2–3 ▶
3rd Period
4:17 EDM Kasperi Kapanen (5) Vasily Podkolzin (13), Evan Bouchard (48) · wrist xG 0.03 3–3 ▶
6:44 CGY Ryan Lomberg (4) Nazem Kadri (29), Zach Whitecloud (8) · snap xG 0.32 3–4 ▶

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

EDM 48%Deserve to win52% CGY
EDMCGY
3.31Expected goals4.05
3Goals (no shootout)4
1.98Expected goals, 5 on 52.40
60Shot attempts64
46Unblocked attempts48
39Shots 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).

1st Period
17:31 CGY Deserve to win Deserve to win · CGY takes the lead, 63–37%
EDM had led since 9:51 of the 1st, by as much as 64%
3rd Period
1:40 EDM No shift No shift · Lazar, 11:10 on the bench
No shift from 8:11 of the 2nd to 2:45 of the 3rd; 6 shifts (3:20) before that
18:35 EDM Pulled goalie Pulled goalie · Pulled Jarry, down 4–3
With 1:25 left

Shot map

EDM shoots ←Bigger circle: higher xG; filled: goal→ CGY shoots
MacKenzie Weegar: slap, 61 ft, xG 0.02 (P1 0:14) Ryan Nugent-Hopkins: wrist, 67 ft, xG 0.00 (P1 0:20) Yegor Sharangovich: wrist, 44 ft, xG 0.04 (P1 1:57) Ryan Nugent-Hopkins: wrist, 5 ft, xG 0.11 (P1 4:04) Connor McDavid: snap, 33 ft, xG 0.09 (P1 4:09) Connor McDavid: wrist, 31 ft, xG 0.05 (P1 7:19) Joel Farabee: snap, 21 ft, xG 0.16 (P1 7:42) Connor McDavid: wrap-around, 4 ft, xG 0.09 (P1 7:50) Jack Roslovic: backhand, 14 ft, xG 0.09 (P1 8:14) Matvei Gridin: wrist, 48 ft, xG 0.02 (P1 8:56) Curtis Lazar: tip-in, 15 ft, xG 0.07 (P1 9:26) Andrew Mangiapane: wrist, 21 ft, xG 0.13 (P1 9:51) Kasperi Kapanen: backhand, 27 ft, xG 0.03 (P1 10:35) Joel Farabee: wrist, 17 ft, xG 0.14 (P1 11:21) Matt Coronato: wrist, 50 ft, xG 0.02 (P1 12:36) Yegor Sharangovich: wrist, 45 ft, xG 0.03 (P1 15:26) Martin Pospisil: tip-in, 10 ft, xG 0.05 (P1 15:31) Ryan Lomberg: tip-in, 30 ft, xG 0.04 (P1 15:37) Mikael Backlund: wrist, 24 ft, xG 0.15 (P1 16:35) Matt Coronato: tip-in, 7 ft, xG 0.11 (P1 16:59) Jonathan Huberdeau: wrist, 20 ft, xG 0.13 (P1 17:11) Matt Coronato: snap, 26 ft, xG 0.11 (P1 17:31) Ryan Nugent-Hopkins: wrist, 19 ft, xG 0.20 (P1 19:07) Zach Whitecloud: slap, 45 ft, xG 0.02 (P1 19:42) Connor McDavid: snap, 30 ft, xG 0.11 (P1 19:56) MacKenzie Weegar: wrist, 53 ft, xG 0.01 (P2 0:15) Nazem Kadri: wrist, 24 ft, xG 0.10 (P2 1:57) Yegor Sharangovich: wrist, 27 ft, xG 0.11 (P2 2:14) Kasperi Kapanen: wrist, 16 ft, xG 0.15 (P2 2:50) Ryan Nugent-Hopkins: wrist, 27 ft, xG 0.06 (P2 4:56) Mikael Backlund: wrist, 21 ft, xG 0.15 (P2 5:12) Jake Walman: deflected, 7 ft, xG 0.14 (P2 5:20) Connor Zary: wrist, 9 ft, xG 0.02 (P2 5:46) Darnell Nurse: wrist, 64 ft, xG 0.01 (P2 5:57) Kasperi Kapanen: wrist, 40 ft, xG 0.01 (P2 6:03) Matvei Gridin: wrist, 43 ft, xG 0.01 (P2 6:29) Darnell Nurse: wrist, 58 ft, xG 0.01 (P2 6:40) Mikael Backlund: wrist, 53 ft, xG 0.01 (P2 6:58) Vasily Podkolzin: wrist, 37 ft, xG 0.05 (P2 10:32) Martin Pospisil: wrist, 30 ft, xG 0.01 (P2 10:47) Adam Klapka: wrap-around, 6 ft, xG 0.03 (P2 10:55) Nazem Kadri: wrist, 22 ft, xG 0.04 (P2 11:17) Mikael Backlund: wrist, 36 ft, xG 0.07 (P2 12:06) Leon Draisaitl: backhand, 23 ft, xG 0.08 (P2 12:35) Darnell Nurse: snap, 20 ft, xG 0.15 (P2 12:51) Zach Hyman: wrist, 35 ft, xG 0.06 (P2 13:35) Jack Roslovic: wrist, 49 ft, xG 0.02 (P2 13:47) Matvei Gridin: wrist, 53 ft, xG 0.02 (P2 14:42) Connor McDavid: backhand, 19 ft, xG 0.02 (P2 16:11) Mattias Ekholm: wrist, 59 ft, xG 0.02 (P2 16:25) Matt Coronato: wrist, 32 ft, xG 0.04 (P2 16:54) Connor McDavid: wrist, 21 ft, xG 0.10 (P2 17:29) Connor McDavid: poke, 18 ft, xG 0.07 (P2 17:31) Leon Draisaitl: tip-in, 16 ft, xG 0.07 (P2 17:46) Nazem Kadri: tip-in, 7 ft, xG 0.03 (P2 19:35) Jonathan Huberdeau: wrist, 33 ft, xG 0.06 (P3 1:23) Mattias Ekholm: wrist, 10 ft, xG 0.17 (P3 1:35) Martin Pospisil: wrist, 12 ft, xG 0.02 (P3 1:53) Martin Pospisil: backhand, 6 ft, xG 0.24 (P3 1:55) Yan Kuznetsov: wrist, 57 ft, xG 0.03 (P3 2:04) MacKenzie Weegar: bat, 16 ft, xG 0.05 (P3 2:06) Zach Whitecloud: deflected, 15 ft, xG 0.11 (P3 3:03) Curtis Lazar: backhand, 10 ft, xG 0.08 (P3 3:15) Mikael Backlund: wrist, 9 ft, xG 0.38 (P3 4:29) Matt Savoie: wrist, 22 ft, xG 0.11 (P3 5:16) Matt Savoie: poke, 8 ft, xG 0.04 (P3 5:17) MacKenzie Weegar: wrist, 185 ft, xG 0.00 (P3 5:28) Ryan Lomberg: wrist, 35 ft, xG 0.01 (P3 6:36) Nazem Kadri: wrist, 59 ft, xG 0.01 (P3 6:51) Darnell Nurse: wrist, 62 ft, xG 0.01 (P3 7:21) Yegor Sharangovich: snap, 36 ft, xG 0.06 (P3 8:05) Zach Hyman: tip-in, 9 ft, xG 0.10 (P3 8:30) Evan Bouchard: slap, 48 ft, xG 0.04 (P3 8:34) Spencer Stastney: snap, 35 ft, xG 0.05 (P3 9:11) Darnell Nurse: backhand, 10 ft, xG 0.12 (P3 9:20) Darnell Nurse: backhand, 12 ft, xG 0.03 (P3 9:21) Nazem Kadri: wrist, 23 ft, xG 0.02 (P3 9:57) Connor McDavid: wrist, 28 ft, xG 0.13 (P3 11:35) Evan Bouchard: slap, 47 ft, xG 0.05 (P3 12:44) Yegor Sharangovich: tip-in, 7 ft, xG 0.04 (P3 16:32) Leon Draisaitl: snap, 31 ft, xG 0.03 (P3 16:50) Mikael Backlund: wrist, 13 ft, xG 0.02 (P3 17:03) Mikael Backlund: wrist, 25 ft, xG 0.01 (P3 17:04) Mattias Ekholm: slap, 41 ft, xG 0.07 (P3 17:18) Leon Draisaitl: wrist, 28 ft, xG 0.03 (P3 19:00) Yegor Sharangovich: wrist, 84 ft, xG 0.64 (P3 19:32) Connor McDavid: wrist, 51 ft, xG 0.03 (P3 19:42) Jonathan Huberdeau: GOAL, snap, 33 ft, xG 0.09 (P1 3:12) Leon Draisaitl: GOAL, wrist, 10 ft, xG 0.12 (P1 5:14) Matvei Gridin: GOAL, snap, 31 ft, xG 0.12 (P1 14:44) Connor Zary: GOAL, deflected, 10 ft, xG 0.12 (P2 11:43) Leon Draisaitl: GOAL, snap, 16 ft, xG 0.12 (P2 18:26) Kasperi Kapanen: GOAL, wrist, 43 ft, xG 0.03 (P3 4:17) Ryan Lomberg: GOAL, snap, 9 ft, xG 0.32 (P3 6:44)
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

Edmonton Oilers

Skater GAP+/− AttxG HitBlkTOI
Forwards
97 Connor McDavid 011 0 110.67 0026:30
29 Leon Draisaitl 202 +1 60.46 0025:27
18 Zach Hyman 000 -1 40.15 0023:41
93 Ryan Nugent-Hopkins 011 -1 60.36 0022:50
92 Vasily Podkolzin 011 +1 20.05 0016:35
42 Kasperi Kapanen 101 +1 40.22 0015:39
96 Jack Roslovic 000 0 30.10 0014:12
22 Matt Savoie 000 0 20.14 0110:52
81 Josh Samanski 000 -1 00.00 2009:23
26 Andrew Mangiapane 000 -1 10.13 1007:39
13 Mattias Janmark 000 -1 00.00 0005:32
20 Curtis Lazar 000 -1 20.15 0004:24
Defense
2 Evan Bouchard 033 +1 30.09 0226:25
25 Darnell Nurse 000 -1 90.34 2221:50
14 Mattias Ekholm 000 +1 30.26 0221:12
96 Jake Walman 000 0 10.14 0218:02
49 Ty Emberson 000 -1 10.00 1112:50
24 Spencer Stastney 000 -2 20.05 0012:33
Goalie SAGA SVSV% xGA GSAx
Tristan Jarry 25421 .840 3.41 -0.59

Calgary Flames

Skater GAP+/− AttxG HitBlkTOI
Forwards
11 Mikael Backlund 000 0 70.79 0021:05
17 Yegor Sharangovich 000 0 80.92 1019:56
91 Nazem Kadri 022 +1 70.20 0018:02
86 Joel Farabee 000 0 20.31 0017:44
27 Matt Coronato 000 0 50.28 0016:36
47 Connor Zary 101 0 30.13 0015:53
10 Jonathan Huberdeau 101 0 30.28 2015:39
92 Matvei Gridin 112 0 60.17 0112:39
16 Morgan Frost 000 0 00.00 2012:29
43 Adam Klapka 000 +1 10.03 3009:53
94 Ryan Lomberg 101 +1 30.38 4007:48
76 Martin Pospisil 000 0 50.32 0006:45
Defense
7 Kevin Bahl 000 +1 10.00 0326:36
28 Zach Whitecloud 022 +2 40.13 1224:37
52 MacKenzie Weegar 022 0 50.08 4222:14
37 Yan Kuznetsov 000 +1 30.03 2421:33
19 Zayne Parekh 000 -1 00.00 0012:18
44 Joel Hanley 000 -1 10.00 0109:04
Goalie SAGA SVSV% xGA GSAx
Devin Cooley 39336 .923 3.31 +0.31

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.

Edmonton Oilers

Player Rating Points Shots On ice Pen FO Other GSAx TOI
29 Leon Draisaitl C +2.26 +1.50 +0.30 +0.37 0.00 +0.09 0.00 — 25:27
42 Kasperi Kapanen R +1.59 +0.75 +0.14 +0.69 0.00 0.00 0.00 — 15:39
2 Evan Bouchard D +1.33 +1.80 +0.06 -0.44 -0.15 0.00 +0.06 — 26:25
92 Vasily Podkolzin R +0.96 +0.70 +0.03 +0.22 0.00 -0.01 +0.02 — 16:35
25 Darnell Nurse D +0.69 0.00 +0.22 +0.17 +0.15 0.00 +0.15 — 21:50
28 Jack Roslovic C +0.68 0.00 +0.07 +0.60 0.00 +0.03 -0.02 — 14:12
22 Matt Savoie C +0.59 0.00 +0.09 +0.30 +0.15 -0.01 +0.05 — 10:52
96 Jake Walman D +0.59 0.00 +0.09 +0.40 0.00 0.00 +0.10 — 18:02
97 Connor McDavid C +0.53 +0.55 +0.44 -0.65 +0.15 0.00 +0.04 — 26:30
93 Ryan Nugent-Hopkins C +0.23 +0.70 +0.24 -0.66 0.00 -0.03 -0.02 — 22:50
81 Josh Samanski C -0.04 0.00 0.00 -0.02 0.00 0.00 -0.02 — 9:23
14 Mattias Ekholm D -0.10 0.00 +0.17 -0.37 0.00 0.00 +0.10 — 21:12
49 Ty Emberson D -0.28 0.00 0.00 -0.33 0.00 0.00 +0.05 — 12:50
20 Curtis Lazar C -0.34 0.00 +0.10 -0.47 0.00 +0.03 0.00 — 4:24
88 Andrew Mangiapane L -0.34 0.00 +0.08 -0.41 0.00 0.00 -0.02 — 7:39
13 Mattias Janmark C -0.47 0.00 0.00 -0.47 0.00 0.00 0.00 — 5:32
35 Tristan Jarry G -0.59 0.00 — — 0.00 — — -0.59 58:32
24 Spencer Stastney D -0.77 0.00 +0.03 -0.65 -0.15 0.00 0.00 — 12:33
18 Zach Hyman L -1.24 0.00 +0.10 -1.34 0.00 0.00 0.00 — 23:41

Calgary Flames

Player Rating Points Shots On ice Pen FO Other GSAx TOI
28 Zach Whitecloud D +2.39 +1.25 +0.09 +0.95 0.00 0.00 +0.10 — 24:37
91 Nazem Kadri C +2.04 +1.25 +0.13 +0.42 +0.30 -0.06 0.00 — 18:02
92 Matvei Gridin R +1.50 +1.30 +0.11 +0.09 0.00 -0.01 +0.01 — 12:39
52 MacKenzie Weegar D +1.46 +1.40 +0.05 +0.10 -0.15 0.00 +0.06 — 22:14
70 Ryan Lomberg L +1.41 +0.75 +0.25 +0.59 -0.15 0.00 -0.02 — 7:48
7 Kevin Bahl D +0.96 0.00 0.00 +0.83 0.00 0.00 +0.13 — 26:36
10 Jonathan Huberdeau L +0.87 +0.75 +0.18 -0.01 0.00 +0.01 -0.06 — 15:39
1 Devin Cooley G +0.86 +0.55 — — 0.00 — — +0.31 59:56
11 Mikael Backlund C +0.83 0.00 +0.51 +0.40 0.00 -0.04 -0.04 — 21:05
43 Adam Klapka R +0.70 0.00 +0.02 +0.49 +0.15 +0.01 +0.04 — 9:53
47 Connor Zary C +0.69 +0.75 +0.09 -0.13 0.00 0.00 -0.02 — 15:53
17 Yegor Sharangovich C +0.54 0.00 +0.60 -0.05 0.00 -0.01 0.00 — 19:56
37 Yan Kuznetsov D +0.47 0.00 +0.02 +0.30 0.00 0.00 +0.16 — 21:33
76 Martin Pospisil C +0.39 0.00 +0.21 +0.14 0.00 +0.02 +0.02 — 6:45
27 Matt Coronato R +0.21 0.00 +0.18 +0.22 -0.15 -0.01 -0.04 — 16:36
86 Joel Farabee L +0.12 0.00 +0.20 -0.08 0.00 0.00 0.00 — 17:44
16 Morgan Frost C -0.28 0.00 0.00 -0.27 0.00 -0.01 0.00 — 12:29
19 Zayne Parekh D -0.48 0.00 0.00 -0.48 0.00 0.00 0.00 — 12:18
44 Joel Hanley D -0.57 0.00 0.00 -0.45 -0.15 0.00 +0.03 — 9:04

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.