Saturday, March 28, 2026
How the result moved each team's playoff odds, calculated Mar 28, 2026 6:50 PM EDT.
Highlights
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
TOR 18%Deserve to win 82% STL
TOR STL
1.60 Expected goals 3.61
1 Goals (no shootout) 5
1.31 Expected goals, 5 on 5 3.17
35 Shot attempts 60
27 Unblocked attempts 47
13 Shots on goal 38
Shot map
TOR shoots ←Bigger circle: higher xG; filled: goal → STL shoots
John Tavares: tip-in, 8 ft, xG 0.09 (P1 0:30)
Alexey Toropchenko: wrist, 17 ft, xG 0.16 (P1 2:15)
Robert Thomas: wrist, 30 ft, xG 0.08 (P1 3:38)
Jordan Kyrou: wrist, 41 ft, xG 0.02 (P1 4:19)
Jake Neighbours: poke, 5 ft, xG 0.04 (P1 4:20)
Justin Holl: snap, 64 ft, xG 0.02 (P1 4:47)
Theo Lindstein: wrist, 59 ft, xG 0.02 (P1 5:22)
Otto Stenberg: tip-in, 5 ft, xG 0.16 (P1 5:37)
Jonatan Berggren: tip-in, 60 ft, xG 0.02 (P1 5:48)
Pius Suter: snap, 23 ft, xG 0.14 (P1 8:29)
Jacob Quillan: wrist, 52 ft, xG 0.01 (P1 8:54)
Colton Parayko: wrist, 40 ft, xG 0.01 (P1 9:30)
Dylan Holloway: wrist, 86 ft, xG 0.00 (P1 11:05)
Jake McCabe: wrist, 100 ft, xG 0.00 (P1 12:05)
William Nylander: slap, 59 ft, xG 0.02 (P1 12:22)
Simon Benoit: deflected, 19 ft, xG 0.07 (P1 12:40)
Dakota Joshua: backhand, 9 ft, xG 0.04 (P1 15:11)
Calle Jarnkrok: wrist, 32 ft, xG 0.11 (P1 16:40)
Michael Pezzetta: tip-in, 10 ft, xG 0.10 (P1 17:18)
Matias Maccelli: backhand, 10 ft, xG 0.24 (P1 18:13)
Steven Lorentz: tip-in, 15 ft, xG 0.07 (P1 18:18)
Jimmy Snuggerud: wrist, 39 ft, xG 0.02 (P1 18:44)
Jimmy Snuggerud: snap, 34 ft, xG 0.07 (P1 19:09)
Jake Neighbours: wrist, 21 ft, xG 0.16 (P1 19:45)
John Tavares: wrist, 26 ft, xG 0.07 (P2 0:19)
Dylan Holloway: wrist, 35 ft, xG 0.11 (P2 0:32)
Jordan Kyrou: wrist, 56 ft, xG 0.01 (P2 1:12)
Jonatan Berggren: wrist, 39 ft, xG 0.02 (P2 2:09)
Dalibor Dvorsky: tip-in, 13 ft, xG 0.06 (P2 2:28)
John Tavares: wrist, 9 ft, xG 0.15 (P2 4:35)
Colton Parayko: slap, 23 ft, xG 0.20 (P2 4:51)
Otto Stenberg: snap, 32 ft, xG 0.12 (P2 6:26)
Logan Mailloux: wrist, 55 ft, xG 0.02 (P2 6:33)
Brandon Carlo: wrist, 45 ft, xG 0.01 (P2 9:28)
Jimmy Snuggerud: wrist, 34 ft, xG 0.02 (P2 11:33)
Dalibor Dvorsky: snap, 24 ft, xG 0.08 (P2 12:20)
Dylan Holloway: wrist, 26 ft, xG 0.12 (P2 12:38)
Dakota Joshua: tip-in, 5 ft, xG 0.20 (P2 12:48)
Logan Mailloux: wrist, 58 ft, xG 0.02 (P2 14:31)
Jake McCabe: snap, 41 ft, xG 0.01 (P2 14:42)
Max Domi: wrist, 57 ft, xG 0.02 (P2 15:19)
Dakota Joshua: wrist, 23 ft, xG 0.21 (P2 15:22)
Pavel Buchnevich: snap, 21 ft, xG 0.18 (P2 17:31)
Jake McCabe: slap, 180 ft, xG 0.00 (P2 17:35)
Cam Fowler: wrist, 121 ft, xG 0.00 (P2 18:53)
Colton Parayko: wrist, 58 ft, xG 0.00 (P2 19:11)
Jonatan Berggren: wrist, 58 ft, xG 0.02 (P2 19:16)
Robert Thomas: wrist, 27 ft, xG 0.13 (P2 19:41)
Morgan Rielly: wrist, 96 ft, xG 0.00 (P3 1:30)
Dalibor Dvorsky: wrist, 58 ft, xG 0.02 (P3 2:14)
Cam Fowler: wrist, 45 ft, xG 0.03 (P3 2:33)
Theo Lindstein: wrist, 48 ft, xG 0.01 (P3 3:12)
Morgan Rielly: wrist, 82 ft, xG 0.00 (P3 3:38)
Pavel Buchnevich: tip-in, 19 ft, xG 0.05 (P3 4:25)
Matias Maccelli: wrist, 35 ft, xG 0.06 (P3 7:46)
Jake McCabe: wrist, 99 ft, xG 0.00 (P3 9:17)
Theo Lindstein: wrist, 26 ft, xG 0.14 (P3 9:45)
Alexey Toropchenko: tip-in, 8 ft, xG 0.12 (P3 11:31)
Logan Mailloux: wrist, 20 ft, xG 0.03 (P3 11:51)
Theo Lindstein: snap, 56 ft, xG 0.02 (P3 12:37)
Dylan Holloway: wrist, 34 ft, xG 0.07 (P3 13:30)
Dalibor Dvorsky: wrist, 22 ft, xG 0.03 (P3 13:38)
Calle Jarnkrok: wrist, 51 ft, xG 0.01 (P3 13:57)
Steven Lorentz: tip-in, 9 ft, xG 0.02 (P3 15:59)
Steven Lorentz: wrist, 27 ft, xG 0.03 (P3 16:21)
Logan Mailloux: wrap-around, 6 ft, xG 0.05 (P3 17:13)
Nick Robertson: wrist, 44 ft, xG 0.03 (P3 18:41)
Alexey Toropchenko: wrist, 32 ft, xG 0.10 (P3 19:18)
Jimmy Snuggerud: GOAL, snap, 9 ft, xG 0.26 (P2 5:21)
Justin Holl: GOAL, wrist, 15 ft, xG 0.17 (P2 10:35)
Jake McCabe: GOAL, wrist, 47 ft, xG 0.02 (P3 5:07)
Pius Suter: GOAL, snap, 27 ft, xG 0.16 (P3 6:46)
Dylan Holloway: GOAL, snap, 24 ft, xG 0.22 (P3 9:10)
Philip Broberg: GOAL, wrist, 35 ft, xG 0.09 (P3 18:24)
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.
All columns
Box score
Toronto Maple Leafs
Goalie
SA GA
SV SV%
xGA
GSAx
Joseph Woll
38 5 33
.868
3.61
-1.39
St. Louis Blues
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.
Toronto Maple Leafs
Player
Rating
Points
Shots
On ice
Pen
FO
Other
GSAx
TOI
81 Dakota Joshua C
+0.83
+0.70
+0.29
-0.14
0.00
0.00
-0.02
—
15:03
22 Jake McCabe D
+0.56
+0.75
+0.02
-0.29
0.00
0.00
+0.07
—
21:33
18 Steven Lorentz C
+0.16
0.00
+0.08
+0.10
0.00
0.00
-0.02
—
11:30
63 Matias Maccelli L
-0.03
0.00
+0.19
-0.04
-0.15
0.00
-0.04
—
14:09
19 Calle Jarnkrok C
-0.04
0.00
+0.08
-0.08
0.00
-0.02
-0.02
—
13:22
95 Oliver Ekman-Larsson D
-0.07
0.00
0.00
-0.01
0.00
0.00
-0.06
—
20:00
26 Jacob Quillan C
-0.27
+0.55
+0.01
-1.19
+0.30
+0.06
+0.01
—
16:07
88 William Nylander R
-0.32
0.00
+0.01
-0.27
0.00
-0.02
-0.04
—
20:03
91 John Tavares C
-0.48
0.00
+0.20
-0.67
0.00
-0.03
+0.02
—
14:48
61 Michael Pezzetta L
-0.51
0.00
+0.06
-0.57
0.00
-0.01
0.00
—
8:49
28 Troy Stecher D
-0.66
0.00
0.00
-0.84
0.00
0.00
+0.18
—
17:43
89 Nick Robertson L
-0.89
0.00
+0.02
-1.02
0.00
0.00
+0.10
—
17:43
11 Max Domi C
-0.91
0.00
+0.01
-0.84
0.00
-0.02
-0.06
—
16:23
25 Brandon Carlo D
-1.10
0.00
+0.01
-1.14
0.00
0.00
+0.03
—
19:26
53 Easton Cowan R
-1.11
0.00
0.00
-1.03
0.00
0.00
-0.08
—
18:44
2 Simon Benoit D
-1.13
0.00
+0.04
-1.21
0.00
0.00
+0.03
—
17:35
44 Morgan Rielly D
-1.20
0.00
0.00
-1.20
0.00
0.00
0.00
—
18:46
23 Matthew Knies L
-1.29
0.00
0.00
-1.31
0.00
0.00
+0.02
—
15:26
60 Joseph Woll G
-1.39
0.00
—
—
0.00
—
—
-1.39
59:54
St. Louis Blues
Player
Rating
Points
Shots
On ice
Pen
FO
Other
GSAx
TOI
81 Dylan Holloway L
+2.73
+1.30
+0.34
+1.09
0.00
0.00
0.00
—
18:17
25 Jordan Kyrou R
+2.43
+1.40
+0.02
+1.02
0.00
0.00
-0.02
—
13:37
63 Jake Neighbours L
+2.37
+1.25
+0.13
+1.00
0.00
-0.01
0.00
—
14:38
89 Pavel Buchnevich L
+1.97
+0.55
+0.15
+1.22
0.00
0.00
+0.05
—
15:38
17 Cam Fowler D
+1.86
+0.70
+0.02
+1.14
0.00
0.00
0.00
—
20:11
18 Robert Thomas C
+1.81
+1.25
+0.14
+0.42
0.00
+0.02
-0.02
—
19:57
55 Colton Parayko D
+1.69
0.00
+0.14
+1.23
+0.30
0.00
+0.02
—
22:37
21 Jimmy Snuggerud R
+1.68
+0.75
+0.24
+0.75
0.00
0.00
-0.06
—
17:36
4 Justin Holl D
+1.61
+0.75
+0.12
+0.74
0.00
0.00
0.00
—
16:21
6 Philip Broberg D
+1.20
+0.75
+0.06
+0.37
0.00
0.00
+0.02
—
21:51
41 Theo Lindstein D
+0.97
0.00
+0.12
+0.86
-0.15
0.00
+0.13
—
16:31
22 Pius Suter C
+0.93
+0.75
+0.20
-0.02
0.00
0.00
0.00
—
13:09
28 Otto Stenberg C
+0.69
0.00
+0.18
+0.51
0.00
0.00
0.00
—
13:34
50 Jordan Binnington G
+0.60
0.00
—
—
0.00
—
—
+0.60
60:00
54 Dalibor Dvorsky R
+0.60
0.00
+0.12
+0.47
0.00
+0.01
0.00
—
13:42
29 Jonatan Berggren R
+0.53
0.00
+0.04
+0.49
0.00
0.00
0.00
—
14:07
23 Logan Mailloux D
+0.47
0.00
+0.08
+0.35
0.00
0.00
+0.03
—
19:59
13 Alexey Toropchenko R
+0.33
0.00
+0.24
+0.09
0.00
0.00
0.00
—
11:37
37 Jack Finley C
-0.24
0.00
0.00
-0.01
-0.30
+0.02
+0.05
—
10:38
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.