| 1 | Colin MulderPlace 1 · Grade 12 · Otsego | 12 | Otsego | 15:57.43 |
| 2 | Ian HillPlace 2 · Grade 11 · Spring Lake | 11 | Spring Lake | 16:01.39 |
| 3 | Callen CarrierPlace 3 · Grade 12 · Spring Lake | 12 | Spring Lake | 16:24.79 |
| 4 | Mason KolhoffPlace 4 · Grade 11 · Otsego | 11 | Otsego | 16:29.88 |
| 5 | Christian ColvinPlace 5 · Grade 12 · Grand Haven | 12 | Grand Haven | 16:50.23 |
| 6 | Eli VeenPlace 6 · Grade 11 · Plainwell | 11 | Plainwell | 16:51.74 |
| 7 | Jonas Fraley-BurgettPlace 7 · Grade 11 · Kalamazoo Central | 11 | Kalamazoo Central | 16:57.87 |
| 8 | Seth NorderPlace 8 · Grade 9 · Grand Haven | 9 | Grand Haven | 16:59.62 |
| 9 | Isaiah WilkinsPlace 9 · Grade 12 · Otsego | 12 | Otsego | 17:00.17 |
| 10 | Nolan ClarkPlace 10 · Grade 10 · Grand Haven | 10 | Grand Haven | 17:03.65 |
| 11 | Jonathan TysmanPlace 11 · Grade 11 · Grand Haven | 11 | Grand Haven | 17:10.25 |
| 12 | Logan ViningPlace 12 · Grade 10 · Grand Haven | 10 | Grand Haven | 17:13.18 |
| 13 | Carter PhillipsPlace 13 · Grade 11 · Spring Lake | 11 | Spring Lake | 17:13.93 |
| 14 | Nick CockerelPlace 14 · Grade 11 · Otsego | 11 | Otsego | 17:14.46 |
| 15 | Austin O'brienPlace 15 · Grade 10 · GR Kenowa Hills | 10 | GR Kenowa Hills | 17:19.02 |
| 16 | Craig FullerPlace 16 · Grade 12 · Ludington | 12 | Ludington | 17:27.36 |
| 17 | Charles BlairPlace 17 · Grade 11 · Kalamazoo Central | 11 | Kalamazoo Central | 17:27.68 |
| 18 | Jasper CanePlace 18 · Grade 9 · Kalamazoo Central | 9 | Kalamazoo Central | 17:29.20 |
| 19 | Pierce BentleyPlace 19 · Grade 10 · Otsego | 10 | Otsego | 17:30.51 |
| 20 | Cole RowdenPlace 20 · Grade 12 · Grand Haven | 12 | Grand Haven | 17:37.16 |
| 21 | Andnet DeboerPlace 21 · Grade 12 · Otsego | 12 | Otsego | 17:49.25 |
| 22 | Ethan JohnsonPlace 22 · Grade 12 · Plainwell | 12 | Plainwell | 17:52.29 |
| 23 | Adam MacLeodPlace 23 · Grade 12 · Spring Lake | 12 | Spring Lake | 17:53.36 |
| 24 | Logan KolhoffPlace 24 · Grade 11 · Otsego | 11 | Otsego | 17:54.82 |
| 25 | Andrew KubiakPlace 25 · Grade 12 · Otsego | 12 | Otsego | 18:00.54 |
| 26 | Bryce SoissonPlace 26 · Grade 10 · Kalamazoo Central | 10 | Kalamazoo Central | 18:02.25 |
| 27 | Asher LiuPlace 27 · Grade 12 · Spring Lake | 12 | Spring Lake | 18:07.35 |
| 28 | Andrew BickelPlace 28 · Grade 12 · Otsego | 12 | Otsego | 18:08.54 |
| 29 | Zach ByronPlace 29 · Grade 11 · Otsego | 11 | Otsego | 18:15.65 |
| 30 | Eli DuguidPlace 30 · Grade 12 · Kalamazoo Central | 12 | Kalamazoo Central | 18:16.44 |
| 31 | Ben PeasePlace 31 · Grade 11 · Grand Haven | 11 | Grand Haven | 18:19.84 |
| 32 | Zachary HansonPlace 32 · Grade 12 · GR Kenowa Hills | 12 | GR Kenowa Hills | 18:27.02 |
| 33 | Ryan RymalPlace 33 · Grade 11 · Spring Lake | 11 | Spring Lake | 18:31.42 |
| 34 | Logan HoughPlace 34 · Grade 10 · Grand Haven | 10 | Grand Haven | 18:35.49 |
| 35 | Austin BardingPlace 35 · Grade 10 · Spring Lake | 10 | Spring Lake | 18:40.29 |
| 36 | Lucas RuffingPlace 36 · Grade 9 · Spring Lake | 9 | Spring Lake | 18:41.14 |
| 37 | Rowan HendersonPlace 37 · Grade 12 · Grand Haven | 12 | Grand Haven | 18:41.88 |
| 38 | Jack ParkerPlace 38 · Grade 12 · Spring Lake | 12 | Spring Lake | 18:42.35 |
| 39 | Sam DavidsonPlace 39 · Grade 11 · Spring Lake | 11 | Spring Lake | 18:48.22 |
| 40 | Ian PardeePlace 40 · Grade 12 · Kalamazoo Central | 12 | Kalamazoo Central | 18:49.12 PR |
| 41 | Michael KloostermanPlace 41 · Grade 9 · Kalamazoo Central | 9 | Kalamazoo Central | 19:00.56 |
| 42 | Zeke DykstraPlace 42 · Grade 11 · GR Kenowa Hills | 11 | GR Kenowa Hills | 19:01.98 |
| 43 | Izik JanuszPlace 43 · Grade 12 · GR Kenowa Hills | 12 | GR Kenowa Hills | 19:13.85 |
| 44 | Alex BlantonPlace 44 · Grade 12 · Plainwell | 12 | Plainwell | 19:14.18 |
| 45 | Theo MoleskiPlace 45 · Grade 12 · Grand Haven | 12 | Grand Haven | 19:20.71 |
| 46 | Chris SellersPlace 46 · Grade 12 · Plainwell | 12 | Plainwell | 19:23.47 |
| 47 | Rohan MarionPlace 47 · Grade 9 · Kalamazoo Central | 9 | Kalamazoo Central | 19:26.85 |
| 48 | Evan WallsPlace 48 · Grade 12 · Ludington | 12 | Ludington | 19:27.18 |
| 49 | Andre SoissonPlace 49 · Grade 10 · Kalamazoo Central | 10 | Kalamazoo Central | 19:29.25 |
| 50 | Isaac VeenPlace 50 · Grade 9 · Plainwell | 9 | Plainwell | 19:30.38 |
| 51 | Thai NguyenPlace 51 · Grade 10 · Plainwell | 10 | Plainwell | 19:43.54 |
| 52 | Andrew TalsmaPlace 52 · Grade 12 · Ludington | 12 | Ludington | 19:52.09 |
| 53 | Josh HoffmanPlace 53 · Grade 10 · GR Kenowa Hills | 10 | GR Kenowa Hills | 20:06.20 |
| 54 | Ben MeyerPlace 54 · Grade 12 · Kalamazoo Central | 12 | Kalamazoo Central | 20:24.67 |
| 55 | Ben AdloffPlace 55 · Grade 12 · Spring Lake | 12 | Spring Lake | 20:29.69 PR |
| 56 | Connor GaylordPlace 56 · Grade 10 · Plainwell | 10 | Plainwell | 20:38.46 |
| 57 | Preston BaltruczakPlace 57 · Grade 12 · GR Kenowa Hills | 12 | GR Kenowa Hills | 21:06.15 |
| 58 | Dillon VliestraPlace 58 · Grade 11 · Plainwell | 11 | Plainwell | 21:15.17 |
| 59 | Alexander PagePlace 59 · Grade 10 · GR Kenowa Hills | 10 | GR Kenowa Hills | 21:33.25 |
| 60 | Andrew MillerPlace 60 · Grade 10 · Plainwell | 10 | Plainwell | 21:38.09 |
| 61 | Liam TroutnerPlace 61 · Grade 9 · Plainwell | 9 | Plainwell | 21:43.48 |
| 62 | Nick HeinrichPlace 62 · Grade 11 · GR Kenowa Hills | 11 | GR Kenowa Hills | 21:58.59 |
| 63 | Charles AustinPlace 63 · Grade 12 · Ludington | 12 | Ludington | 22:04.86 |
| 64 | Hayden MadlPlace 64 · Grade 11 · Ludington | 11 | Ludington | 22:20.30 |
| 65 | Peter BerdoPlace 65 · Grade 11 · GR Kenowa Hills | 11 | GR Kenowa Hills | 23:02.06 |
| 66 | Jack JubarPlace 66 · Grade 9 · Ludington | 9 | Ludington | 23:24.70 |
| 67 | Aleksander deMorrowPlace 67 · Grade 9 · Ludington | 9 | Ludington | 25:44.03 |