St. Louis BluesSTL 3–1 Final Vancouver CanucksVAN

Saturday, March 21, 2026

Final 1st2nd3rd T SOG
St. Louis BluesSTL 021 3 21
Vancouver CanucksVAN 001 1 15
Playoff odds, % Change
STL +0.9
VAN +0.0
NSH -0.5

How the result moved each team's playoff odds, calculated Mar 21, 2026 6:22 PM EDT.

Highlights

Scoring

1st Period
No scoring
2nd Period
10:17 STL Pius Suter (11) Robert Thomas (30), Dylan Holloway (17) · deflected xG 0.79 1–0 ▶
11:36 STL Pavel Buchnevich (16) Philip Broberg (20), Logan Mailloux (4) · snap xG 0.06 2–0 ▶
3rd Period
8:32 VAN Filip Hronek (8)PP Elias Pettersson (26), Marco Rossi (19) · snap xG 0.05 2–1 ▶
19:12 STL Jordan Kyrou (16)PPEN Pavel Buchnevich (26), Logan Mailloux (5) · backhand xG 0.81 3–1 ▶

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 74%Deserve to win26% VAN
STLVAN
4.33Expected goals2.16
3Goals (no shootout)1
3.29Expected goals, 5 on 51.18
54Shot attempts37
36Unblocked attempts22
21Shots on goal15

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
10:14 STL Deserve to win Deserve to win · STL takes the lead, 61–39%
VAN had led since 6:18 of the 1st, by as much as 64%
10:20 STL xG swing xG swing · Out-chanced VAN 2.09–0.03
In xG over 10 minutes, 8:10 to 18:10 of the 2nd; goals 2–0
3rd Period
19:00 VAN Pulled goalie Pulled goalie · Pulled Lankinen, down 2–1
With 1:00 left; STL scored at 19:12 of the 3rd (3–1)

Shot map

STL shoots ←Bigger circle: higher xG; filled: goal→ VAN shoots
Theo Lindstein: snap, 61 ft, xG 0.03 (P1 0:59) Jimmy Snuggerud: snap, 25 ft, xG 0.09 (P1 1:51) Cam Fowler: snap, 22 ft, xG 0.16 (P1 2:10) Logan Mailloux: snap, 59 ft, xG 0.02 (P1 2:31) Jordan Kyrou: snap, 55 ft, xG 0.01 (P1 4:26) Filip Hronek: snap, 15 ft, xG 0.18 (P1 5:39) Jake DeBrusk: snap, 38 ft, xG 0.08 (P1 5:49) Brock Boeser: snap, 5 ft, xG 0.11 (P1 5:51) Marco Rossi: snap, 30 ft, xG 0.15 (P1 5:56) Linus Karlsson: snap, 19 ft, xG 0.16 (P1 6:18) Zeev Buium: snap, 62 ft, xG 0.02 (P1 8:45) Robert Thomas: snap, 19 ft, xG 0.15 (P1 9:37) Logan Mailloux: snap, 30 ft, xG 0.09 (P1 9:47) Dalibor Dvorsky: snap, 61 ft, xG 0.00 (P1 12:07) Pius Suter: snap, 44 ft, xG 0.01 (P1 12:50) Dylan Holloway: snap, 26 ft, xG 0.16 (P1 13:19) Dylan Holloway: wrist, 55 ft, xG 0.01 (P1 16:17) Philip Broberg: snap, 27 ft, xG 0.04 (P1 16:48) Theo Lindstein: snap, 67 ft, xG 0.01 (P1 17:56) Colton Parayko: snap, 67 ft, xG 0.01 (P2 0:49) Drew O'Connor: snap, 27 ft, xG 0.05 (P2 5:42) Linus Karlsson: tip-in, 7 ft, xG 0.12 (P2 5:44) Jimmy Snuggerud: snap, 22 ft, xG 0.18 (P2 6:20) Dylan Holloway: wrist, 13 ft, xG 0.13 (P2 6:32) Colton Parayko: slap, 66 ft, xG 0.01 (P2 7:10) Robert Thomas: snap, 14 ft, xG 0.18 (P2 10:14) Jack Finley: snap, 11 ft, xG 0.23 (P2 10:49) Pavel Buchnevich: tip-in, 16 ft, xG 0.05 (P2 11:16) Jordan Kyrou: snap, 27 ft, xG 0.14 (P2 11:29) Drew O'Connor: snap, 45 ft, xG 0.03 (P2 13:25) Pius Suter: snap, 12 ft, xG 0.04 (P2 13:51) Jimmy Snuggerud: snap, 25 ft, xG 0.03 (P2 15:25) Jimmy Snuggerud: snap, 35 ft, xG 0.09 (P2 15:56) Jordan Kyrou: snap, 35 ft, xG 0.07 (P2 17:00) Jordan Kyrou: snap, 15 ft, xG 0.19 (P2 17:21) Jimmy Snuggerud: tip-in, 25 ft, xG 0.03 (P2 17:39) Jordan Kyrou: wrist, 7 ft, xG 0.19 (P2 18:07) Drew O'Connor: tip-in, 6 ft, xG 0.12 (P2 19:04) Drew O'Connor: backhand, 11 ft, xG 0.43 (P2 19:07) Filip Hronek: snap, 48 ft, xG 0.01 (P2 19:37) Elias Pettersson: snap, 151 ft, xG 0.00 (P3 1:56) Jimmy Snuggerud: snap, 38 ft, xG 0.05 (P3 2:17) Jack Finley: wrist, 52 ft, xG 0.00 (P3 4:14) Liam Ohgren: snap, 20 ft, xG 0.15 (P3 5:13) Nils Hoglander: slap, 35 ft, xG 0.02 (P3 5:56) Jake DeBrusk: slap, 49 ft, xG 0.02 (P3 7:33) Brock Boeser: snap, 6 ft, xG 0.23 (P3 7:46) Marco Rossi: tip-in, 19 ft, xG 0.06 (P3 10:45) Jonathan Drouin: snap, 15 ft, xG 0.08 (P3 14:19) Liam Ohgren: snap, 37 ft, xG 0.07 (P3 15:33) Elias Pettersson: snap, 34 ft, xG 0.09 (P3 15:52) Zeev Buium: slap, 54 ft, xG 0.01 (P3 16:10) Robert Thomas: snap, 9 ft, xG 0.14 (P3 18:36) Alexey Toropchenko: snap, 36 ft, xG 0.06 (P3 19:43) Pius Suter: GOAL, deflected, 2 ft, xG 0.79 (P2 10:17) Pavel Buchnevich: GOAL, snap, 40 ft, xG 0.06 (P2 11:36) Filip Hronek: GOAL, snap, 57 ft, xG 0.05 (P3 8:32) Jordan Kyrou: GOAL, backhand, 18 ft, xG 0.81 (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

St. Louis Blues

Skater GAP+/− AttxG HitBlkTOI
Forwards
18 Robert Thomas 011 +1 30.46 0220:01
21 Jimmy Snuggerud 000 0 70.47 0219:30
81 Dylan Holloway 011 +1 40.30 4119:22
89 Pavel Buchnevich 112 +1 20.11 0116:42
25 Jordan Kyrou 101 +1 71.42 0115:56
92 Jonathan Drouin 000 0 10.08 0014:55
28 Otto Stenberg 000 0 00.00 1014:45
15 Dalibor Dvorsky 000 0 30.00 0014:27
63 Jake Neighbours 000 +1 00.00 2011:58
22 Pius Suter 101 +1 60.84 0111:22
37 Jack Finley 000 0 20.23 2011:03
13 Alexey Toropchenko 000 0 10.06 4210:48
Defense
6 Philip Broberg 011 +1 40.04 1022:34
23 Logan Mailloux 022 +1 50.11 1021:59
17 Cam Fowler 000 +1 10.16 0219:01
4 Justin Holl 000 +1 20.00 1218:47
55 Colton Parayko 000 0 20.02 1118:25
4 Theo Lindstein 000 0 40.04 1015:39
Goalie SAGA SVSV% xGA GSAx
Jordan Binnington 15114 .933 2.16 +1.16

Vancouver Canucks

Skater GAP+/− AttxG HitBlkTOI
Forwards
6 Brock Boeser 000 -1 30.34 1018:55
23 Marco Rossi 011 -1 20.21 2017:41
18 Drew O'Connor 000 -1 40.63 3016:34
91 Evander Kane 000 0 10.00 3015:31
73 Teddy Blueger 000 0 10.00 0015:24
92 Liam Ohgren 000 -1 20.22 1015:24
40 Elias Pettersson 011 -1 30.09 1115:06
94 Linus Karlsson 000 -1 20.28 0113:44
74 Jake DeBrusk 000 0 20.10 1013:19
54 Aatu Räty 000 0 10.00 4012:57
42 Curtis Douglas 000 0 10.00 2311:21
21 Nils Hoglander 000 0 20.02 2010:39
Defense
17 Filip Hronek 101 -1 70.23 3226:28
8 Zeev Buium 000 -1 30.03 0123:36
26 Marcus Pettersson 000 0 00.00 0321:24
5 Tom Willander 000 0 20.00 0418:02
25 Elias Pettersson 000 -1 10.00 1014:49
90 Victor Mancini 000 -1 00.00 2113:56
Goalie SAGA SVSV% xGA GSAx
Kevin Lankinen 20218 .900 3.52 +1.52

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
22 Pius Suter C +2.99 +0.75 +0.55 +1.51 +0.15 -0.01 +0.05 — 11:22
25 Jordan Kyrou R +2.49 +0.75 +0.93 +0.75 0.00 0.00 +0.07 — 15:56
81 Dylan Holloway L +2.46 +0.55 +0.19 +1.51 +0.15 +0.01 +0.05 — 19:22
18 Robert Thomas C +2.45 +0.70 +0.30 +1.51 0.00 -0.07 +0.02 — 20:01
89 Pavel Buchnevich L +2.40 +1.45 +0.07 +0.84 0.00 -0.01 +0.05 — 16:42
4 Justin Holl D +2.02 0.00 0.00 +1.90 0.00 0.00 +0.12 — 18:47
17 Cam Fowler D +2.02 0.00 +0.10 +1.82 0.00 0.00 +0.10 — 19:01
23 Logan Mailloux D +1.58 +1.10 +0.07 +0.43 0.00 0.00 -0.02 — 21:59
6 Philip Broberg D +1.17 +0.70 +0.02 +0.48 0.00 0.00 -0.04 — 22:34
50 Jordan Binnington G +1.16 0.00 — — 0.00 — — +1.16 59:44
21 Jimmy Snuggerud R +0.84 0.00 +0.30 +0.29 +0.15 0.00 +0.10 — 19:30
63 Jake Neighbours L +0.69 0.00 0.00 +0.99 -0.30 0.00 0.00 — 11:58
37 Jack Finley C +0.47 0.00 +0.15 +0.32 0.00 0.00 0.00 — 11:03
41 Theo Lindstein D +0.38 0.00 +0.03 +0.36 0.00 0.00 0.00 — 15:39
55 Colton Parayko D +0.35 0.00 +0.01 +0.27 0.00 0.00 +0.07 — 18:25
13 Alexey Toropchenko R +0.19 0.00 +0.04 +0.08 0.00 0.00 +0.06 — 10:48
92 Jonathan Drouin L +0.17 0.00 +0.05 +0.12 0.00 0.00 0.00 — 14:55
28 Otto Stenberg C +0.01 0.00 0.00 +0.01 0.00 0.00 0.00 — 14:45
54 Dalibor Dvorsky R -0.13 0.00 0.00 -0.04 0.00 -0.07 -0.02 — 14:27

Vancouver Canucks

Player Rating Points Shots On ice Pen FO Other GSAx TOI
32 Kevin Lankinen G +1.37 0.00 — — -0.15 — — +1.52 59:42
5 Tom Willander D +0.51 0.00 0.00 +0.16 +0.15 0.00 +0.20 — 18:02
40 Elias Pettersson C +0.22 +0.70 +0.06 -0.74 +0.15 0.00 +0.05 — 15:06
54 Aatu Räty C +0.01 0.00 0.00 -0.04 0.00 +0.05 0.00 — 12:57
93 Marco Rossi C -0.04 +0.55 +0.14 -0.79 0.00 +0.06 0.00 — 17:41
42 Curtis Douglas C -0.07 0.00 0.00 -0.20 0.00 0.00 +0.13 — 11:21
92 Liam Ohgren L -0.29 0.00 +0.14 -0.43 0.00 0.00 0.00 — 15:24
91 Evander Kane L -0.36 0.00 0.00 -0.33 0.00 -0.01 -0.02 — 15:31
24 Zeev Buium D -0.38 0.00 +0.02 -0.41 0.00 0.00 +0.01 — 23:36
18 Drew O'Connor L -0.56 0.00 +0.41 -0.97 0.00 0.00 0.00 — 16:34
6 Brock Boeser R -0.63 0.00 +0.22 -0.67 -0.15 -0.01 -0.02 — 18:55
21 Nils Hoglander L -0.66 0.00 +0.02 -0.65 0.00 0.00 -0.02 — 10:39
74 Jake DeBrusk L -0.72 0.00 +0.07 -0.79 0.00 0.00 0.00 — 13:19
29 Marcus Pettersson D -0.73 0.00 0.00 -0.80 0.00 0.00 +0.07 — 21:24
94 Linus Karlsson C -0.90 0.00 +0.18 -1.14 0.00 +0.01 +0.05 — 13:44
17 Filip Hronek D -0.94 +0.75 +0.15 -1.78 -0.15 0.00 +0.08 — 26:28
90 Victor Mancini D -1.00 0.00 0.00 -1.05 0.00 0.00 +0.05 — 13:56
53 Teddy Blueger C -1.10 0.00 0.00 -1.13 0.00 +0.05 -0.02 — 15:24
25 Elias Pettersson D -1.40 0.00 0.00 -1.38 0.00 0.00 -0.02 — 14: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.