| 1 | Connor BotelerPlace 1 · Grade 12 · Grass Lake | 12 | Grass Lake | 17:26 |
| 2 | Alec DodakPlace 2 · Grade 12 · Manchester | 12 | Manchester | 17:30 |
| 3 | Blake FishPlace 3 · Grade 11 · Napoleon | 11 | Napoleon | 17:50 |
| 4 | Luke BalazePlace 4 · Grade 10 · Grass Lake | 10 | Grass Lake | 18:42 PR |
| 5 | Devin HillikerPlace 5 · Grade 10 · Napoleon | 10 | Napoleon | 19:04 |
| 6 | Eli FassettPlace 6 · Grade 10 · Brooklyn Columbia Central | 10 | Brooklyn Columbia Central | 19:13 |
| 7 | Evan JohnsonPlace 7 · Grade 9 · Manchester | 9 | Manchester | 19:20 |
| 8 | Zack ButtigiegPlace 8 · Grade 12 · Grass Lake | 12 | Grass Lake | 19:32 |
| 9 | Grady McDanielPlace 9 · Grade 10 · Grass Lake | 10 | Grass Lake | 19:39 |
| 10 | Ethan HittlePlace 10 · Grade 12 · Manchester | 12 | Manchester | 19:43 |
| 11 | Brennan HeselschwerdtPlace 11 · Grade 10 · Napoleon | 10 | Napoleon | 20:12 |
| 12 | Michael HoppePlace 12 · Grade 11 · Grass Lake | 11 | Grass Lake | 20:37 |
| 13 | Wyatt MillerPlace 13 · Grade 10 · Brooklyn Columbia Central | 10 | Brooklyn Columbia Central | 20:41 |
| 14 | Mason FosterPlace 14 · Grade 9 · Brooklyn Columbia Central | 9 | Brooklyn Columbia Central | 20:42 |
| 15 | Richard TrudeauPlace 15 · Grade 10 · Grass Lake | 10 | Grass Lake | 20:54 |
| 16 | Michael NavitskisPlace 16 · Grade 12 · Manchester | 12 | Manchester | 20:59 |
| 17 | AJ HeilerPlace 17 · Grade 10 · Napoleon | 10 | Napoleon | 21:10 |
| 18 | Kevin WojcikPlace 18 · Grade 10 · Napoleon | 10 | Napoleon | 21:12 |
| 19 | Louis HilberberPlace 19 · Grade 9 · Grass Lake | 9 | Grass Lake | 21:22 |
| 20 | Corbin MartinPlace 20 · Grade 9 · Grass Lake | 9 | Grass Lake | 22:00 |
| 21 | Caleb WeidmayerPlace 21 · Grade 11 · Manchester | 11 | Manchester | 22:21 |
| 22 | James PaynePlace 22 · Grade 10 · Napoleon | 10 | Napoleon | 22:24 |
| 23 | Jackson BowdenPlace 23 · Grade 10 · Napoleon | 10 | Napoleon | 22:25 |
| 24 | Mikey O'JackPlace 24 · Grade 10 · Manchester | 10 | Manchester | 22:38 |
| 25 | Bryson KnappPlace 25 · Grade 9 · Brooklyn Columbia Central | 9 | Brooklyn Columbia Central | 22:51 |
| 26 | Josh HoldaPlace 26 · Grade 9 · Grass Lake | 9 | Grass Lake | 23:01 |
| 27 | Jordon PatrickPlace 27 · Grade 12 · Brooklyn Columbia Central | 12 | Brooklyn Columbia Central | 23:03 |
| 28 | Hunter CulbertPlace 28 · Grade 10 · Napoleon | 10 | Napoleon | 24:28 |
| 29 | Kyle LumbrezerPlace 29 · Grade 9 · Brooklyn Columbia Central | 9 | Brooklyn Columbia Central | 28:47 |
| 30 | Andrew KumorPlace 30 · Grade 10 · Grass Lake | 10 | Grass Lake | 28:48 |
| 31 | Brody SherwoodPlace 31 · Grade 9 · Brooklyn Columbia Central | 9 | Brooklyn Columbia Central | 28:51 |
| 32 | Josiah HelwigPlace 32 · Grade 10 · Manchester | 10 | Manchester | 30:12 |