| 1 | Riley WittPlace 1 · St Ansgar | — | St Ansgar | 17:41.6 |
| 2 | Isaac NatvigPlace 2 · Valley Lutheran | — | Valley Lutheran | 17:49.0 |
| 3 | Dylan UsherPlace 3 · New Hampton Comm | — | New Hampton Comm | 17:55.9 |
| 4 | Bryce McDonoughPlace 4 · Central Springs | — | Central Springs | 18:10.2 |
| 5 | Brennan SauserPlace 5 · Oelwein | — | Oelwein | 18:34.0 |
| 6 | Adric SchmitzPlace 6 · Valley Lutheran | — | Valley Lutheran | 18:35.6 |
| 7 | Justin NibaurPlace 7 · Crestwood | — | Crestwood | 18:38.7 |
| 8 | Ethan GovernPlace 8 · Crestwood | — | Crestwood | 18:48.2 |
| 9 | Ray GearhartPlace 9 · Oelwein | — | Oelwein | 18:57.5 |
| 10 | Clayton McDonoughPlace 10 · Central Springs | — | Central Springs | 19:01.1 |
| 11 | Chris WagnerPlace 11 · Kee | — | Kee | 19:02.5 |
| 12 | Drew WilkenPlace 12 · Nashua-Plainfield | — | Nashua-Plainfield | 19:09.7 |
| 13 | Westley DetermanPlace 13 · Valley Lutheran | — | Valley Lutheran | 19:10.0 |
| 14 | Dominic BigalkPlace 14 · Crestwood | — | Crestwood | 19:15.3 |
| 15 | Giles CowellPlace 15 · Tripoli | — | Tripoli | 19:22.1 |
| 16 | Kile RottinghausPlace 16 · Jesup | — | Jesup | 19:23.6 |
| 17 | Treyce OrrPlace 17 · New Hampton Comm | — | New Hampton Comm | 19:26.7 |
| 18 | Cael JudischPlace 18 · Sumner-Fredericksburg | — | Sumner-Fredericksburg | 19:34.4 |
| 19 | Cole HansenPlace 19 · St Ansgar | — | St Ansgar | 19:39.6 |
| 20 | PJ AndersonPlace 20 · New Hampton Comm | — | New Hampton Comm | 19:45.3 |
| 21 | Logan ZuckPlace 21 · Jesup | — | Jesup | 19:45.3 |
| 22 | Hayden HauserPlace 22 · New Hampton Comm | — | New Hampton Comm | 19:49.6 |
| 23 | Nate EganPlace 23 · Sumner-Fredericksburg | — | Sumner-Fredericksburg | 19:57.4 |
| 24 | Ethan BoylePlace 24 · Sumner-Fredericksburg | — | Sumner-Fredericksburg | 19:57.7 |
| 25 | Jordan RynerPlace 25 · Central Springs | — | Central Springs | 20:06.2 |
| 26 | Jack ShawverPlace 26 · New Hampton Comm | — | New Hampton Comm | 20:07.0 |
| 27 | Carter LanpherePlace 27 · Central Springs | — | Central Springs | 20:09.2 |
| 28 | Ethan L'HeureuxPlace 28 · Valley Lutheran | — | Valley Lutheran | 20:16.5 |
| 29 | Cam McMorrisPlace 29 · New Hampton Comm | — | New Hampton Comm | 20:22.4 |
| 30 | Ayden GonzalezPlace 30 · Jesup | — | Jesup | 20:25.3 |
| 31 | Isaac DawsonPlace 31 · Valley Lutheran | — | Valley Lutheran | 20:27.0 |
| 32 | Braden PowersPlace 32 · St Ansgar | — | St Ansgar | 20:31.2 |
| 33 | Ben ReganPlace 33 · Central Springs | — | Central Springs | 20:31.7 |
| 34 | Jeremy AnderaPlace 34 · Crestwood | — | Crestwood | 20:33.8 |
| 35 | Silas WehrspanPlace 35 · Jesup | — | Jesup | 20:43.9 |
| 36 | Casey AlferinkPlace 36 · Jesup | — | Jesup | 20:44.0 |
| 37 | Kendrick HuckPlace 37 · Nashua-Plainfield | — | Nashua-Plainfield | 20:51.2 |
| 38 | Austin LangreckPlace 38 · Sumner-Fredericksburg | — | Sumner-Fredericksburg | 20:52.7 |
| 39 | Kaleb ZuckPlace 39 · Jesup | — | Jesup | 21:00.1 |
| 40 | Jacob SullivanPlace 40 · Oelwein | — | Oelwein | 21:00.5 |
| 41 | Lane RechkemmerPlace 41 · Oelwein | — | Oelwein | 21:01.8 |
| 42 | Tyler NolanPlace 42 · Jesup | — | Jesup | 21:05.6 |
| 43 | Kaiser CroellPlace 43 · New Hampton Comm | — | New Hampton Comm | 21:07.8 |
| 44 | Luke StortzPlace 44 · Crestwood | — | Crestwood | 21:19.3 |
| 45 | Daniel WagnerPlace 45 · Kee | — | Kee | 21:27.6 |
| 46 | Caleb KammererPlace 46 · Crestwood | — | Crestwood | 21:35.8 |
| 47 | Lane ConversePlace 47 · Sumner-Fredericksburg | — | Sumner-Fredericksburg | 21:43.2 |
| 48 | Taebian WrightPlace 48 · Tripoli | — | Tripoli | 21:45.2 |
| 49 | Ryan RaelPlace 49 · Oelwein | — | Oelwein | 21:47.8 |
| 50 | Kendrik JuelsgaardPlace 50 · Crestwood | — | Crestwood | 21:50.8 |
| 51 | Kasey IgouPlace 51 · St Ansgar | — | St Ansgar | 21:57.2 |
| 52 | Brody PattersonPlace 52 · St Ansgar | — | St Ansgar | 21:59.2 |
| 53 | Cj BeattyPlace 53 · Oelwein | — | Oelwein | 22:07.0 |
| 54 | Benjamin DriscollPlace 54 · Oelwein | — | Oelwein | 22:13.6 |
| 55 | Levi WintersPlace 55 · Nashua-Plainfield | — | Nashua-Plainfield | 22:44.3 |
| 56 | Treyton WurzerPlace 56 · Sumner-Fredericksburg | — | Sumner-Fredericksburg | 22:47.0 |
| 57 | Connor LeePlace 57 · Nashua-Plainfield | — | Nashua-Plainfield | 22:52.2 |
| 58 | Austin BrunsPlace 58 · Tripoli | — | Tripoli | 22:56.7 |
| 59 | Blair HansenPlace 59 · St Ansgar | — | St Ansgar | 23:00.3 |
| 60 | Nehemiah Hollingsworth-HuebschPlace 60 · St Ansgar | — | St Ansgar | 23:39.2 |
| 61 | Ethan BealsPlace 61 · Central Springs | — | Central Springs | 23:54.7 |
| 62 | Keegan UlrichsPlace 62 · Nashua-Plainfield | — | Nashua-Plainfield | 24:12.0 |
| 63 | Ryan RichPlace 63 · Sumner-Fredericksburg | — | Sumner-Fredericksburg | 24:32.6 |
| 64 | Michael MattsonPlace 64 · Kee | — | Kee | 24:42.9 |
| 65 | Breven BiermannPlace 65 · Tripoli | — | Tripoli | 25:08.6 |
| 66 | Adam HenningsPlace 66 · Tripoli | — | Tripoli | 25:25.9 |
| 67 | Spencer BeyerPlace 67 · Central Springs | — | Central Springs | 25:52.8 |