| 1 | Shane GriepentrogPlace 1 · Valders | — | Valders | 0:16:24 |
| 2 | Clay TaylorPlace 2 · Valders | — | Valders | 0:16:40 |
| 3 | Hunter KreplinePlace 3 · Brillion | — | Brillion | 0:16:55 |
| 4 | Dominic WilladsenPlace 4 · Sheboygan Area Lutheran | — | Sheboygan Area Lutheran | 0:16:55 |
| 5 | Alex MetkoPlace 5 · Brillion | — | Brillion | 0:17:34 |
| 6 | Jonah Bus JurssPlace 6 · Sheboygan Area Lutheran | — | Sheboygan Area Lutheran | 0:17:36 |
| 7 | Hans GrubenPlace 7 · Sheboygan Area Lutheran | — | Sheboygan Area Lutheran | 0:17:37 |
| 8 | Mitchell BraunPlace 8 · Valders | — | Valders | 0:17:56 |
| 9 | Derek HansonPlace 9 · Gillett | — | Gillett | 0:18:04 |
| 10 | Matthew WittePlace 10 · Sheboygan Area Lutheran | — | Sheboygan Area Lutheran | 0:18:09 |
| 11 | Josh StaggsPlace 11 · Oostburg | — | Oostburg | 0:18:18 |
| 12 | Spencer StreichPlace 12 · Manitowoc Lutheran | — | Manitowoc Lutheran | 0:18:24 |
| 13 | Brayden YandaPlace 13 · Roncalli | — | Roncalli | 0:18:33 |
| 14 | Jack StaggsPlace 14 · Oostburg | — | Oostburg | 0:18:41 |
| 15 | Brayden SabelPlace 15 · Valders | — | Valders | 0:18:44 |
| 16 | Trent PersingerPlace 16 · Valders | — | Valders | 0:18:52 |
| 17 | Davis BuhlerPlace 17 · Kohler | — | Kohler | 0:18:53 |
| 18 | Reese KupskyPlace 18 · Brillion | — | Brillion | 0:18:58 |
| 19 | Logan ZakPlace 19 · Sheboygan Area Lutheran | — | Sheboygan Area Lutheran | 0:19:06 |
| 20 | Jack RummelPlace 20 · Kohler | — | Kohler | 0:19:09 |
| 21 | Evan PetersonPlace 21 · Gillett | — | Gillett | 0:19:15 |
| 22 | Shawn EgererPlace 22 · Manitowoc Lutheran | — | Manitowoc Lutheran | 0:19:20 |
| 23 | Isaiah MartensPlace 23 · NE WCH AA | — | NE WCH AA | 0:19:21 |
| 24 | Will FalconerPlace 24 · Roncalli | — | Roncalli | 0:19:22 |
| 25 | Christian KauthPlace 25 · Valders | — | Valders | 0:19:22 |
| 26 | Jacob WelchPlace 26 · NE WCH AA | — | NE WCH AA | 0:19:35 |
| 27 | Ben MatczakPlace 27 · Gillett | — | Gillett | 0:19:38 |
| 28 | Sam LieuwenPlace 28 · Crivitz | — | Crivitz | 0:19:40 |
| 29 | Koen VierkantPlace 29 · Kohler | — | Kohler | 0:19:45 |
| 30 | Riley EngebretsonPlace 30 · Gillett | — | Gillett | 0:19:46 |
| 31 | Cale LuerPlace 31 · Roncalli | — | Roncalli | 0:19:49 |
| 32 | Ryan JacobyPlace 32 · Roncalli | — | Roncalli | 0:20:04 |
| 33 | Gabe RagsdalePlace 33 · Two Rivers | — | Two Rivers | 0:20:08 |
| 34 | Clay SchroederPlace 34 · Manitowoc Lutheran | — | Manitowoc Lutheran | 0:20:08 |
| 35 | Henry PociaskPlace 35 · Kohler | — | Kohler | 0:20:15 |
| 36 | Zach GlewenPlace 36 · Sheboygan Area Lutheran | — | Sheboygan Area Lutheran | 0:20:23 |
| 37 | Daniel BenfieldPlace 37 · Mishicot | — | Mishicot | 0:20:24 |
| 38 | Isaac RugowskiPlace 38 · Valders | — | Valders | 0:20:26 |
| 39 | Grant Cunliffe-owePlace 39 · Kohler | — | Kohler | 0:20:32 |
| 40 | Zach FriesPlace 40 · Two Rivers | — | Two Rivers | 0:20:36 |
| 41 | Joaquin GuynesPlace 41 · Two Rivers | — | Two Rivers | 0:20:36 |
| 42 | Samuel BreedenPlace 42 · Brillion | — | Brillion | 0:20:37 |
| 43 | Spencer SaltaPlace 43 · Two Rivers | — | Two Rivers | 0:20:51 |
| 44 | Parker BraunPlace 44 · Brillion | — | Brillion | 0:21:12 |
| 45 | Connor HartwigPlace 45 · Two Rivers | — | Two Rivers | 0:21:13 |
| 46 | Deacon GrayPlace 46 · Roncalli | — | Roncalli | 0:21:20 |
| 47 | Joey PickettPlace 47 · Crivitz | — | Crivitz | 0:21:23 |
| 48 | Tegan WernerPlace 48 · Crivitz | — | Crivitz | 0:21:35 |
| 49 | Jon ThomaPlace 49 · Manitowoc Lutheran | — | Manitowoc Lutheran | 0:21:36 |
| 50 | Wyatt WiesnerPlace 50 · NE WCH AA | — | NE WCH AA | 0:21:44 |
| 51 | Preston BrillPlace 51 · Oostburg | — | Oostburg | 0:21:46 |
| 52 | Caleb KurthPlace 52 · Two Rivers | — | Two Rivers | 0:21:48 |
| 53 | Jonah MelsoPlace 53 · Manitowoc Lutheran | — | Manitowoc Lutheran | 0:21:48 |
| 54 | Grant PortenierPlace 54 · Sheboygan Area Lutheran | — | Sheboygan Area Lutheran | 0:21:49 |
| 55 | Matt TaddyPlace 55 · Roncalli | — | Roncalli | 0:22:02 |
| 56 | Evan PopePlace 56 · Brillion | — | Brillion | 0:22:03 |
| 57 | Zach RaddatzPlace 57 · Manitowoc Lutheran | — | Manitowoc Lutheran | 0:22:03 |
| 58 | Daniel StueckPlace 58 · Mishicot | — | Mishicot | 0:22:07 |
| 59 | Parker VierkantPlace 59 · Kohler | — | Kohler | 0:22:10 |
| 60 | Josh FinneyPlace 60 · Kohler | — | Kohler | 0:22:15 |
| 61 | Avery SchomburgPlace 61 · Brillion | — | Brillion | 0:22:29 |
| 62 | Cameron EssertPlace 62 · Two Rivers | — | Two Rivers | 0:22:37 |
| 63 | Kaden KowalskiPlace 63 · Mishicot | — | Mishicot | 0:22:44 |
| 64 | Andre KonopackiPlace 64 · Roncalli | — | Roncalli | 0:22:44 |
| 65 | Jacob BehrendtPlace 65 · Crivitz | — | Crivitz | 0:23:12 |
| 66 | Josh SpindlerPlace 66 · Oostburg | — | Oostburg | 0:23:24 |
| 67 | Josh NicholasPlace 67 · NE WCH AA | — | NE WCH AA | 0:23:28 |
| 68 | Alec GrandawPlace 68 · Crivitz | — | Crivitz | 0:23:34 |
| 69 | Chad SchroederPlace 69 · Crivitz | — | Crivitz | 0:24:50 |
| 70 | Adrian De PagterPlace 70 · Oostburg | — | Oostburg | 0:24:59 |
| 71 | Garrett KleinPlace 71 · Gillett | — | Gillett | 0:26:21 |
| 72 | Grayson KleinPlace 72 · Gillett | — | Gillett | 0:27:00 |
| 73 | Sebastian SchefskyPlace 73 · Oostburg | — | Oostburg | 0:27:41 |
| 74 | Nick ParmaPlace 74 · Mishicot | — | Mishicot | 0:28:24 |
| 75 | Caden MuellerPlace 75 · Oostburg | — | Oostburg | 0:31:25 |