| Team | 1 | 2 | 3 | Total |
|---|---|---|---|---|
| OTT | 0 | 3 | 1 | 4 |
| MON | 1 | 1 | 1 | 3 |
| Period | Time | Team | Scorer | Assists | Score |
|---|---|---|---|---|---|
| 1 | 13:05 | MON | Jake Evans | Unassisted | 0-1 |
| 2 | 4:01 | MON | Kirby Dach | Luke Tuch, Joel Armia | 0-2 |
| 2 | 11:16 | OTT | Michael Amadio | Carter Yakemchuk, Adam Gaudette | 1-2 |
| 2 | 14:02 | OTT | Adam Gaudette | Thomas Chabot | 2-2 |
| 2 | 14:50 | OTT | Ridly Greig | Shane Pinto, Drake Batherson | 3-2 |
| 3 | 1:51 | OTT | Carter Yakemchuk | Drake Batherson, Josh Norris | 4-2 |
| 3 | 13:56 | MON | Oliver Kapanen | Joshua Roy, Joel Armia | 4-3 |
| Period | Time | Team | Player | Penalty | Minutes |
|---|---|---|---|---|---|
| 1 | 0:23 | MON | David Savard | High-Sticking | 2 |
| 1 | 15:18 | OTT | Jake Sanderson | Holding | 2 |
| 1 | 15:43 | OTT | Ridly Greig | Interference | 2 |
| 1 | 18:00 | MON | Michael Pezzetta | Roughing | 2 |
| 1 | 20:00 | MON | Michael Pezzetta | Misconduct | 10 |
| 2 | 7:07 | OTT | Shane Pinto | Tripping | 2 |
| 2 | 9:59 | MON | Arber Xhekaj | Roughing | 2 |
| 2 | 9:59 | OTT | Brady Tkachuk | Roughing | 2 |
| 2 | 9:59 | MON | Arber Xhekaj | Interference | 5 |
| 2 | 9:59 | MON | Arber Xhekaj | Game Misconduct | 10 |
| 2 | 17:36 | OTT | Noah Gregor | Slashing | 2 |
| 3 | 0:30 | MON | Joel Armia | Hooking | 2 |
| 3 | 7:12 | OTT | Artem Zub | Hooking | 2 |
| 3 | 8:10 | MON | Kirby Dach | Interference | 2 |
| 3 | 10:37 | MON | Kirby Dach | Fighting | 5 |
| 3 | 10:37 | OTT | Ridly Greig | Fighting | 5 |
| 3 | 10:37 | MON | Kirby Dach | Misconduct | 10 |
| 3 | 10:37 | OTT | Ridly Greig | Misconduct | 10 |
| 3 | 14:25 | MON | Logan Mailloux | Tripping | 2 |
| Goalie | Team | Saves | Shots | Save % | TOI |
|---|---|---|---|---|---|
| Linus Ullmark | OTT | 29 | 32 | 90.6% | 60:00 |
| Cayden Primeau | MON | 12 | 16 | 75.0% | 57:59 |