St. Louis BluesSTL 4–0 Final Anaheim DucksANA

Sunday, March 8, 2026

Final 1st2nd3rd T SOG
St. Louis BluesSTL 031 4 35
Anaheim DucksANA 000 0 22
Playoff odds, % Change
ANA -2.0
STL +0.5
SJS +0.6

How the result moved each team's playoff odds, calculated Mar 8, 2026 8:31 PM EDT.

Highlights

Scoring

1st Period
No scoring
2nd Period
4:22 STL Jordan Kyrou (15) Jake Neighbours (12), Cam Fowler (20) · snap xG 0.07 1–0 ▶
10:07 STL Jonathan Drouin (4)PP Philip Broberg (19), Jimmy Snuggerud (17) · slap xG 0.09 2–0 ▶
12:11 STL Jimmy Snuggerud (12) Robert Thomas (25), Dylan Holloway (14) · snap xG 0.12 3–0 ▶
3rd Period
15:58 STL Pius Suter (9)EN Pavel Buchnevich (25), Justin Holl (1) · wrist xG 0.76 4–0 ▶

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

STL 75%Deserve to win25% ANA
STLANA
5.50Expected goals2.53
4Goals (no shootout)0
3.43Expected goals, 5 on 51.50
69Shot attempts58
53Unblocked attempts42
35Shots on goal22

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:10 STL xG swing xG swing · Out-chanced ANA 1.27–0.02
In xG over 10 minutes, 3:50 to 13:50 of the 1st; neither team scored
3rd Period
6:22 STL Goalie Goalie · Hofer +2.0 goals saved
0 goals on 2.01 xG, 17 shots on goal
14:32 ANA Pulled goalie Pulled goalie · Pulled Husso, down 3–0
With 5:28 left; STL scored at 15:58 of the 3rd (4–0)

Shot map

STL shoots ←Bigger circle: higher xG; filled: goal→ ANA shoots
Jacob Trouba: snap, 48 ft, xG 0.01 (P1 0:07) Jimmy Snuggerud: wrist, 123 ft, xG 0.00 (P1 0:15) Olen Zellweger: backhand, 27 ft, xG 0.04 (P1 1:02) Jordan Kyrou: wrist, 21 ft, xG 0.16 (P1 1:34) Jackson LaCombe: slap, 55 ft, xG 0.04 (P1 3:20) Leo Carlsson: snap, 19 ft, xG 0.18 (P1 3:43) Jack Finley: wrist, 180 ft, xG 0.00 (P1 3:46) Logan Mailloux: wrist, 165 ft, xG 0.00 (P1 4:13) Robert Thomas: wrist, 8 ft, xG 0.16 (P1 4:54) Robert Thomas: snap, 8 ft, xG 0.08 (P1 4:55) Robert Thomas: snap, 5 ft, xG 0.10 (P1 4:56) Jake Neighbours: tip-in, 18 ft, xG 0.07 (P1 5:05) Jordan Kyrou: snap, 5 ft, xG 0.36 (P1 5:07) Ian Moore: slap, 63 ft, xG 0.02 (P1 6:15) Jordan Kyrou: tip-in, 13 ft, xG 0.08 (P1 7:49) Tyler Tucker: wrist, 33 ft, xG 0.09 (P1 8:06) Robert Thomas: snap, 32 ft, xG 0.13 (P1 10:25) Dylan Holloway: snap, 10 ft, xG 0.16 (P1 11:02) Jonathan Drouin: snap, 34 ft, xG 0.02 (P1 12:44) Philip Broberg: snap, 62 ft, xG 0.00 (P1 12:48) Leo Carlsson: snap, 13 ft, xG 0.17 (P1 14:09) Logan Mailloux: snap, 177 ft, xG 0.00 (P1 14:39) Pavel Mintyukov: snap, 52 ft, xG 0.04 (P1 15:26) Pavel Buchnevich: wrist, 9 ft, xG 0.09 (P1 15:40) Jake Neighbours: snap, 33 ft, xG 0.03 (P1 18:18) Dalibor Dvorsky: backhand, 16 ft, xG 0.04 (P1 18:24) Pavel Mintyukov: snap, 48 ft, xG 0.02 (P1 18:54) Beckett Sennecke: slap, 58 ft, xG 0.03 (P1 19:11) Matthew Kessel: wrist, 34 ft, xG 0.03 (P2 1:12) Jack Finley: snap, 35 ft, xG 0.05 (P2 2:26) Ryan Poehling: snap, 38 ft, xG 0.03 (P2 2:49) Jack Finley: snap, 54 ft, xG 0.01 (P2 3:02) Matthew Kessel: slap, 62 ft, xG 0.02 (P2 3:48) Dalibor Dvorsky: tip-in, 10 ft, xG 0.04 (P2 3:59) Pius Suter: wrist, 43 ft, xG 0.01 (P2 5:03) Pavel Buchnevich: backhand, 10 ft, xG 0.02 (P2 5:04) Jeffrey Viel: tip-in, 16 ft, xG 0.05 (P2 5:58) Beckett Sennecke: snap, 39 ft, xG 0.07 (P2 7:26) Tim Washe: tip-in, 11 ft, xG 0.06 (P2 8:22) Ross Johnston: tip-in, 14 ft, xG 0.08 (P2 8:37) Tim Washe: tip-in, 33 ft, xG 0.04 (P2 8:42) Pavel Mintyukov: snap, 31 ft, xG 0.08 (P2 9:12) Dylan Holloway: snap, 38 ft, xG 0.08 (P2 9:40) Dylan Holloway: slap, 42 ft, xG 0.05 (P2 9:45) Jackson LaCombe: snap, 28 ft, xG 0.15 (P2 10:51) Mason McTavish: wrist, 10 ft, xG 0.24 (P2 10:53) Oskar Sundqvist: wrist, 42 ft, xG 0.03 (P2 13:01) Pavel Buchnevich: wrist, 27 ft, xG 0.15 (P2 13:38) Pius Suter: tip-in, 9 ft, xG 0.10 (P2 13:59) Justin Holl: snap, 70 ft, xG 0.01 (P2 14:08) Pius Suter: snap, 18 ft, xG 0.29 (P2 14:11) Tim Washe: backhand, 9 ft, xG 0.13 (P2 14:40) Radko Gudas: snap, 24 ft, xG 0.09 (P2 14:58) Radko Gudas: wrist, 36 ft, xG 0.01 (P2 15:00) Mason McTavish: snap, 54 ft, xG 0.01 (P2 16:15) Chris Kreider: snap, 32 ft, xG 0.13 (P2 16:42) Jacob Trouba: slap, 50 ft, xG 0.00 (P2 16:44) Beckett Sennecke: snap, 36 ft, xG 0.08 (P2 17:22) Dylan Holloway: slap, 20 ft, xG 0.14 (P2 17:57) Jake Neighbours: snap, 32 ft, xG 0.12 (P3 2:00) Cam Fowler: wrist, 59 ft, xG 0.00 (P3 2:33) Jack Finley: tip-in, 11 ft, xG 0.08 (P3 2:42) Oskar Sundqvist: snap, 29 ft, xG 0.11 (P3 2:53) Oskar Sundqvist: slap, 55 ft, xG 0.04 (P3 3:04) Jeffrey Viel: wrist, 51 ft, xG 0.02 (P3 4:14) Radko Gudas: snap, 42 ft, xG 0.02 (P3 4:18) Dylan Holloway: slap, 46 ft, xG 0.04 (P3 4:43) Cutter Gauthier: slap, 31 ft, xG 0.12 (P3 4:50) Jordan Kyrou: wrist, 33 ft, xG 0.07 (P3 6:03) Olen Zellweger: snap, 34 ft, xG 0.01 (P3 6:11) Tim Washe: tip-in, 29 ft, xG 0.04 (P3 6:22) Beckett Sennecke: wrist, 59 ft, xG 0.01 (P3 6:36) Beckett Sennecke: tip-in, 10 ft, xG 0.12 (P3 8:10) Jacob Trouba: snap, 59 ft, xG 0.02 (P3 8:53) Jake Neighbours: wrist, 23 ft, xG 0.10 (P3 9:32) Alex Killorn: tip-in, 17 ft, xG 0.05 (P3 9:47) Ryan Poehling: snap, 53 ft, xG 0.01 (P3 10:04) Jimmy Snuggerud: snap, 24 ft, xG 0.04 (P3 10:16) Dalibor Dvorsky: wrist, 5 ft, xG 0.21 (P3 10:34) Logan Mailloux: wrist, 63 ft, xG 0.01 (P3 10:40) Pavel Mintyukov: snap, 37 ft, xG 0.05 (P3 11:18) Jimmy Snuggerud: slap, 34 ft, xG 0.10 (P3 12:23) Jake Neighbours: snap, 19 ft, xG 0.19 (P3 14:00) Jordan Kyrou: slap, 29 ft, xG 0.16 (P3 14:12) Tim Washe: wrist, 165 ft, xG 0.00 (P3 14:25) Mikael Granlund: snap, 31 ft, xG 0.05 (P3 14:44) Cutter Gauthier: snap, 42 ft, xG 0.06 (P3 14:50) Jackson LaCombe: slap, 38 ft, xG 0.09 (P3 14:59) Jack Finley: snap, 74 ft, xG 0.57 (P3 15:07) Chris Kreider: snap, 35 ft, xG 0.05 (P3 15:21) Ian Moore: snap, 64 ft, xG 0.00 (P3 18:47) Jordan Kyrou: GOAL, snap, 36 ft, xG 0.07 (P2 4:22) Jonathan Drouin: GOAL, slap, 36 ft, xG 0.09 (P2 10:07) Jimmy Snuggerud: GOAL, snap, 27 ft, xG 0.12 (P2 12:11) Pius Suter: GOAL, wrist, 57 ft, xG 0.76 (P3 15:58)
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

St. Louis Blues

Skater GAP+/− AttxG HitBlkTOI
Forwards
18 Robert Thomas 011 +1 40.48 0419:46
81 Dylan Holloway 011 +1 60.47 1117:43
89 Pavel Buchnevich 011 +1 30.26 0017:09
21 Jimmy Snuggerud 112 +1 40.26 0114:58
15 Dalibor Dvorsky 000 +2 50.30 1014:18
22 Pius Suter 101 +1 41.16 1014:14
25 Jordan Kyrou 101 +1 90.90 0013:43
63 Jake Neighbours 011 +1 70.51 0313:16
92 Jonathan Drouin 101 0 20.11 1013:15
13 Alexey Toropchenko 000 0 00.00 1113:10
70 Oskar Sundqvist 000 0 30.17 0011:02
37 Jack Finley 000 0 50.71 0010:52
Defense
6 Philip Broberg 011 +1 20.00 0127:04
17 Cam Fowler 011 +1 30.00 0021:11
23 Logan Mailloux 000 +1 40.01 0220:16
4 Matthew Kessel 000 0 20.05 2118:21
4 Justin Holl 011 +2 30.01 0015:44
75 Tyler Tucker 000 +1 30.09 1011:58
Goalie SAGA SVSV% xGA GSAx
Joel Hofer 22022 1.000 2.53 +2.53

Anaheim Ducks

Skater GAP+/− AttxG HitBlkTOI
Forwards
45 Beckett Sennecke 000 -2 70.31 1022:41
61 Cutter Gauthier 000 -2 30.19 1018:56
64 Mikael Granlund 000 -2 10.05 1018:44
17 Alex Killorn 000 -1 20.05 1018:09
91 Leo Carlsson 000 -2 50.34 1118:05
22 Chris Kreider 000 -2 20.18 1017:06
25 Ryan Poehling 000 0 30.04 1116:08
83 Mason McTavish 000 0 20.25 3012:04
25 Jeffrey Viel 000 0 20.07 4111:58
77 Frank Vatrano 000 0 00.00 0110:19
42 Tim Washe 000 0 50.27 1009:27
49 Ross Johnston 000 0 10.08 1009:01
Defense
2 Jackson LaCombe 000 -1 40.28 1224:33
65 Jacob Trouba 000 0 50.03 0223:19
8 Olen Zellweger 000 0 20.05 0318:35
98 Pavel Mintyukov 000 -2 40.20 0316:59
3 Ian Moore 000 -2 50.02 2015:09
6 Radko Gudas 000 0 50.12 1212:44
Goalie SAGA SVSV% xGA GSAx
Ville Husso 34331 .912 4.18 +1.18

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.

St. Louis Blues

Player Rating Points Shots On ice Pen FO Other GSAx TOI
25 Jordan Kyrou R +3.26 +0.75 +0.58 +1.94 0.00 0.00 -0.02 — 13:43
63 Jake Neighbours L +3.00 +0.70 +0.33 +1.83 0.00 0.00 +0.13 — 13:16
4 Justin Holl D +2.69 +0.55 +0.01 +2.02 +0.11 0.00 0.00 — 15:44
30 Joel Hofer G +2.53 0.00 — — 0.00 — — +2.53 60:00
18 Robert Thomas C +2.21 +0.70 +0.31 +1.10 0.00 -0.04 +0.14 — 19:46
75 Tyler Tucker D +2.06 0.00 +0.06 +1.74 +0.26 0.00 0.00 — 11:58
21 Jimmy Snuggerud R +1.89 +1.30 +0.17 +0.37 0.00 0.00 +0.05 — 14:58
22 Pius Suter C +1.48 +0.75 +0.76 0.00 0.00 -0.02 0.00 — 14:14
17 Cam Fowler D +1.44 +0.55 0.00 +0.91 0.00 0.00 -0.02 — 21:11
54 Dalibor Dvorsky R +1.35 0.00 +0.20 +1.28 -0.15 +0.03 0.00 — 14:18
89 Pavel Buchnevich L +0.97 +0.70 +0.17 +0.17 0.00 -0.01 -0.06 — 17:09
92 Jonathan Drouin L +0.91 +0.75 +0.07 +0.09 0.00 0.00 0.00 — 13:15
6 Philip Broberg D +0.88 +0.70 0.00 0.00 +0.15 0.00 +0.03 — 27:04
81 Dylan Holloway L +0.88 +0.55 +0.31 -0.02 0.00 -0.01 +0.05 — 17:43
37 Jack Finley C +0.42 0.00 +0.46 +0.02 0.00 -0.04 -0.02 — 10:52
23 Logan Mailloux D +0.28 0.00 +0.01 +0.19 0.00 0.00 +0.08 — 20:16
70 Oskar Sundqvist C +0.11 0.00 +0.11 +0.29 -0.30 +0.01 0.00 — 11:02
51 Matthew Kessel D 0.00 0.00 +0.03 +0.07 -0.15 0.00 +0.05 — 18:21
13 Alexey Toropchenko R -0.04 0.00 0.00 +0.08 -0.15 0.00 +0.03 — 13:10

Anaheim Ducks

Player Rating Points Shots On ice Pen FO Other GSAx TOI
33 Ville Husso G +1.18 0.00 — — 0.00 — — +1.18 57:58
42 Tim Washe C +0.88 0.00 +0.18 +0.50 +0.15 +0.05 0.00 — 9:27
28 Jeffrey Viel L +0.14 0.00 +0.05 -0.08 +0.15 0.00 +0.03 — 11:58
2 Jackson LaCombe D +0.06 0.00 +0.18 -0.39 +0.15 0.00 +0.12 — 24:33
7 Radko Gudas D +0.06 0.00 +0.08 -0.10 0.00 0.00 +0.08 — 12:44
51 Olen Zellweger D -0.14 0.00 +0.03 -0.32 0.00 0.00 +0.15 — 18:35
23 Mason McTavish C -0.14 0.00 +0.16 -0.28 0.00 0.00 -0.02 — 12:04
45 Beckett Sennecke R -0.24 0.00 +0.20 -0.59 +0.15 0.00 0.00 — 22:41
61 Cutter Gauthier L -0.27 0.00 +0.12 -0.33 0.00 -0.02 -0.04 — 18:56
91 Leo Carlsson C -0.40 0.00 +0.22 -0.64 0.00 -0.02 +0.03 — 18:05
20 Chris Kreider L -0.47 0.00 +0.12 -0.59 0.00 0.00 0.00 — 17:06
25 Ryan Poehling C -0.71 0.00 +0.03 -0.79 0.00 +0.03 +0.03 — 16:08
3 Ian Moore D -0.92 0.00 +0.01 -0.97 0.00 0.00 +0.04 — 15:09
44 Ross Johnston L -0.95 0.00 +0.05 -0.44 -0.53 0.00 -0.04 — 9:01
65 Jacob Trouba D -0.99 0.00 +0.02 -1.20 +0.15 0.00 +0.04 — 23:19
77 Frank Vatrano R -1.08 0.00 0.00 -1.14 0.00 +0.01 +0.05 — 10:19
17 Alex Killorn L -1.37 0.00 +0.03 -1.38 0.00 0.00 -0.02 — 18:09
98 Pavel Mintyukov D -1.47 0.00 +0.13 -1.71 0.00 0.00 +0.11 — 16:59
64 Mikael Granlund C -1.58 0.00 +0.03 -1.62 0.00 +0.03 -0.02 — 18:44

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.