← research

How Montreal won a Game 7 with nine shots

Nine shots on goal. On the road. In an elimination game. And they won.

July 18, 2026 · Keith Wilcox

Game 7 in Tampa, May 3rd. Montreal put nine shots on goal the whole night and won 2-1. Tampa had 29.

I've watched a lot of hockey and I don't think I've ever seen a team win a playoff game doing that little. So I went and checked how rare it actually is, and it turns out it's the only time it's happened in my entire database. Every other winning team in there put more rubber on net.

A game like that has to break down somewhere, so I pulled it apart with the stuff on this site: the shot data, my expected goals model, and a few thousand simulated replays. Five questions:

  1. What did the shot battle actually look like?
  2. Were Montreal's nine shots secretly great chances?
  3. Where were both teams shooting from?
  4. How much of this was the goalie?
  5. If you replayed that game a thousand times, how often does Montreal win?

The series first

Before the game itself, here's how the whole series went, with shots on goal for both sides.

game_id gamedate home home_g away away_g home_sog away_sog winner
0 2025030121 2026-04-19 TBL 3 MTL 4 23 19 MTL
1 2025030122 2026-04-21 TBL 3 MTL 2 34 27 TBL
2 2025030123 2026-04-24 MTL 3 TBL 2 29 17 MTL
3 2025030124 2026-04-26 MTL 2 TBL 3 18 20 TBL
4 2025030125 2026-04-29 TBL 2 MTL 3 40 24 MTL
5 2025030126 2026-05-01 MTL 0 TBL 1 30 33 TBL
6 2025030127 2026-05-03 TBL 1 MTL 2 29 9 MTL

Look at Game 6 and then Game 7. Tampa wins 1-0 in Montreal, shutting them out at home, and then Montreal wins the clincher on nine shots. Whatever got the Canadiens through this series, it wasn't volume.

The shot battle

Quick vocabulary, because I use these the rest of the way:

  • Attempts is everything a team throws at the net, including the ones that get blocked or miss.
  • Unblocked is attempts minus blocks. That's what my expected goals model actually scores, because a blocked shot gets recorded where the block happened, not where the shot came from.
  • Shots on goal is what makes the goalie work.

Every number below comes out of one pull of every attempt in the game with its expected goals value attached.

(96, 19)
game_id season game_type game_date result shooter_id team_id shot_type period_number game_seconds is_goal strength x y event_id xg en shooter team
0 2025030127 20252026 3 2026-05-03 blocked-shot 8483457 8 None 1 40 False 5v5 69.0 -7.0 60 NaN None None MTL
1 2025030127 20252026 3 2026-05-03 shot-on-goal 8476453 14 snap 1 74 False 5v5 84.0 -34.0 68 0.0205 False Nikita Kucherov TBL
2 2025030127 20252026 3 2026-05-03 shot-on-goal 8482087 8 snap 1 106 False 5v5 34.0 33.0 77 0.0106 False Kaiden Guhle MTL
attempts unblocked sog goals xg blocks_made
team
MTL 40 23 9 2 1.02 15
TBL 56 41 29 1 2.99 17

Tampa: 56 attempts, 41 unblocked, 29 on goal, 1 goal, worth 2.99 expected goals. Montreal: 40 attempts, 23 unblocked, 9 on goal, 2 goals, worth 1.02.

Two things the box score hides:

Montreal blocked 15 Tampa attempts, and Tampa blocked 17 of Montreal's 40. That's 42% of everything Montreal tried. Both teams were throwing bodies in lanes all night.

And Montreal wasn't refusing to shoot. They attempted 40 times, which is a normal night. Only 22% of those attempts got through to the net, where half would be typical. Their shots kept dying on the way.

So were the nine shots at least good ones?

The obvious theory is that Montreal didn't need volume because they got the better looks. My model puts a goal probability on every unblocked attempt, so that's easy to check. Here's all nine.

MTL xG on goal: 0.36  ->  actual goals: 2
TBL xG on goal: 2.33  ->  actual goals: 1
shooter result strength x y xg
28 Alexandre Carrier shot-on-goal 5v5 62.0 -10.0 0.1313
34 Nick Suzuki goal 5v5 67.0 9.0 0.0575
87 Alex Newhook goal 5v5 87.0 10.0 0.0522
12 Juraj Slafkovský shot-on-goal 5v5 60.0 20.0 0.0442
85 Nick Suzuki shot-on-goal 5v5 69.0 -27.0 0.0317
67 Nick Suzuki shot-on-goal 5v5 50.0 27.0 0.0175
2 Kaiden Guhle shot-on-goal 5v5 34.0 33.0 0.0106
31 Cole Caufield shot-on-goal 5v5 18.0 34.0 0.0058
86 Alexandre Texier shot-on-goal 5v5 -0.0 36.0 0.0051

That theory is dead. Montreal's nine shots were worth 0.36 expected goals combined, and they scored twice.

Nick Suzuki's goal was a 5.8% chance. Alex Newhook's winner was 5.2%. Neither one was a tap-in or a breakaway. The model looked at both and said "that's a save," and Andrei Vasilevskiy didn't make either one.

Tampa, meanwhile, put 2.33 expected goals on net and scored once.

What it looked like on the ice

Same rink my shot maps use, dots sized by how good the chance was, gold for goals.

Chart: What it looked like on the ice

You don't need the numbers to read these. Tampa's side has volume and guys around the net. Montreal's is thin and mostly from the outside, and both gold dots are small. That's a team getting outplayed and winning anyway.

The goalie

This is where the game actually was.

Goals saved above expected is the goalie version of what I do with shooters: take the expected goals of everything he faced, subtract what went in. It sorts out the goalie from the team in front of him, because facing 29 hard shots and facing 29 easy ones are different jobs.

One detail: it only counts shots on goal. A goalie can't save one that misses the net.

goalie shots_faced goals_allowed xg_faced gsax sv_pct
1 Jakub Dobes 29 1 2.3342 1.33 0.966
0 Andrei Vasilevskiy 9 2 0.3559 -1.64 0.778

Jakub Dobes: 28 saves on 29 shots worth 2.33 expected goals. That's +1.33 above expected. Vasilevskiy: 7 saves on 9 shots worth 0.36. That's −1.64.

Add those up and the goalie gap in this game was about three goals, in a game decided by one. Give both teams average goaltending and Tampa wins comfortably.

That's the game. It was Dobes.

Okay, but how unlikely was it?

"Should have lost" is easy to say, so let me put a number on it. Every unblocked attempt is a weighted coin, and the weight is its expected goals. Flip all of Montreal's coins, flip all of Tampa's, count goals, see who wins. Do it 200,000 times.

Assumptions, because they matter: shots are treated as independent, a tie goes to a coin flip since this was Game 7 overtime, and empty net attempts are left out. There weren't any in this game anyway.

attempts excluded as empty-net: 0
P(MTL wins | the chances both teams generated) = 15.2%  (about 1 in 6.6)
P(MTL scores >= 2 non-EN goals) = 27.1%
Skellam cross-check: 16.4%  (should be within ~1pt of the sim)
Chart: Okay, but how unlikely was it

15.2%. About one in seven.

So Montreal wasn't robbing anybody. Given the chances both teams generated that night, this result comes up all the time. One in seven is roughly a decent shooter's shooting percentage.

I also checked it a second way with a formula instead of simulation and got 16.4%, close enough that I trust the number.

The thing to take from this: one game tells you almost nothing about which team is better. Tampa deserved that game and lost the series to it. That's playoff hockey, and expected goals is how you see through it.

Then why does it feel impossible?

Because two different things are being asked. One in seven is the chance of winning given you got outchanced 2.99 to 1.02. The rare part is everything happening at once: getting held to nine shots, scoring on two of them, and your goalie erasing a goal and a third.

Here's how rare that combination is across every game in my database.

4,192 team-wins in the database · wins with <=9 SOG: 1 · lowest winner SOG: 9 · average: 29.4
Chart: Then why does it feel impossible

One win in 4,192. The average winning team puts 29 shots on net. This is the left edge of the whole distribution.

So what actually won it

Three things, biggest first:

  1. Dobes, +1.33. He erased more than a full goal of Tampa offense. In a 2-1 game that's the story.
  2. Two goals on 0.36 expected. Suzuki and Newhook both scored on shots that go in about one time in eighteen. Nothing the model could see made those special. That's the coin landing heads twice.
  3. The blocks. 15 of them, plus general lane-clogging that turned Tampa's 56 attempts into 29 on goal. This is the part Montreal actually chose to do. Though Tampa blocked 17 themselves, which is part of why Montreal only managed nine.

Old school guys would call this PDO heaven, and they'd be right. Montreal shot 22% and saved .966 in that game. Add those and you get about 1.19 where 1.00 is normal. Over a season that screams regression. In one elimination game it just means you won.

Which is the honest ending here. Montreal didn't figure something out. They got an unbelievable goalie performance, two cold finishes, and they ate every puck Tampa threw. The nine shots aren't how they won. The nine shots are what they survived.

Expected goals isn't there to tell you the win didn't count. It's there to tell you not to plan on doing it again.

What this doesn't cover

  • My expected goals model doesn't know about passes before the shot, screens, or who's shooting. A 5% chance for Suzuki isn't really the same as a 5% chance for a fourth liner.
  • The simulation treats shots as independent and keeps the chances fixed. In a real game a team that's trailing shoots more, so the chances themselves depend on the score.
  • Single game goals saved above expected has noise in it. Deflections and screens land on the goalie's ledger. Over a season it evens out, over one game take it with some salt.
  • Four seasons of games is a small sample for something this rare. Nine shot wins have happened a handful of times in NHL history. It's genuinely a once-every-few-years thing, not a never thing.
Built from the notebook 01_nine_shot_game7.ipynb. The models behind it live on this site: shot maps and expected goals on player pages, draft value on the draft tab.
i watch the games

© 2026 i watch the games. All rights reserved.

ThreadsInstagramTwitter