| 1 | Seth HersheyPlace 1 · St. Ansgar | — | St. Ansgar | 16:32.3 |
| 2 | Riley WittPlace 2 · St. Ansgar | — | St. Ansgar | 16:37.0 |
| 3 | Caleb SleddPlace 3 · Osage | — | Osage | 17:03.8 |
| 4 | Jake HejlikPlace 4 · Garner-Hayfield-Ventura | — | Garner-Hayfield-Ventura | 17:21.6 |
| 5 | Joey HovingaPlace 5 · Forest City | — | Forest City | 17:29.2 |
| 6 | Colby WilkersonPlace 6 · North Butler | — | North Butler | 17:43.0 |
| 7 | Braden PetreePlace 7 · Newman Catholic | — | Newman Catholic | 17:43.1 |
| 8 | Joey RingoPlace 8 · Newman Catholic | — | Newman Catholic | 18:07.3 |
| 9 | Ryan KellyPlace 9 · Newman Catholic | — | Newman Catholic | 18:07.8 |
| 10 | Caleb BuffingtonPlace 10 · Forest City | — | Forest City | 18:09.0 |
| 11 | Blake LynchPlace 11 · Garner-Hayfield-Ventura | — | Garner-Hayfield-Ventura | 18:10.2 |
| 12 | Joseph MeisPlace 12 · Bishop Garrigan | — | Bishop Garrigan | 18:15.4 |
| 13 | Quinn SwiftPlace 13 · Bishop Garrigan | — | Bishop Garrigan | 18:16.2 |
| 14 | Nathan HannemannPlace 14 · Northwood-Kensett | — | Northwood-Kensett | 18:17.7 |
| 15 | Caleb AlbertPlace 15 · Lake Mills | — | Lake Mills | 18:18.6 |
| 16 | Eric BrehmerPlace 16 · North Butler | — | North Butler | 18:20.3 |
| 17 | Eli BrinkleyPlace 17 · Newman Catholic | — | Newman Catholic | 18:22.6 |
| 18 | Nick SchiltzPlace 18 · North Union | — | North Union | 18:24.3 |
| 19 | Cole HansenPlace 19 · St. Ansgar | — | St. Ansgar | 18:26.5 |
| 20 | Caden RodningPlace 20 · Newman Catholic | — | Newman Catholic | 18:27.0 |
| 21 | Renner CalebPlace 21 · Garner-Hayfield-Ventura | — | Garner-Hayfield-Ventura | 18:28.0 |
| 22 | Keagan HennesseyPlace 22 · Osage | — | Osage | 18:29.6 |
| 23 | John MayPlace 23 · St. Ansgar | — | St. Ansgar | 18:31.3 |
| 24 | Ryan KorthalsPlace 24 · Forest City | — | Forest City | 18:32.6 |
| 25 | Alex MataPlace 25 · Forest City | — | Forest City | 18:33.4 |
| 26 | Braden PowersPlace 26 · St. Ansgar | — | St. Ansgar | 18:43.0 |
| 27 | Owen AlmelienPlace 27 · North Butler | — | North Butler | 18:46.7 |
| 28 | Jacob WolfPlace 28 · Newman Catholic | — | Newman Catholic | 18:57.8 |
| 29 | Aiden RichardsonPlace 29 · Garner-Hayfield-Ventura | — | Garner-Hayfield-Ventura | 18:59.6 |
| 30 | Ethan JohnsonPlace 30 · Forest City | — | Forest City | 19:04.9 |
| 31 | Zach WeltonPlace 31 · Forest City | — | Forest City | 19:09.8 |
| 32 | Michael KnockPlace 32 · North Butler | — | North Butler | 19:12.7 |
| 33 | Parker SharpPlace 33 · Forest City | — | Forest City | 19:16.4 |
| 34 | Drake TiedemannPlace 34 · Northwood-Kensett | — | Northwood-Kensett | 19:21.7 |
| 35 | Hayden MoorePlace 35 · Northwood-Kensett | — | Northwood-Kensett | 19:25.0 |
| 36 | Kris HammittPlace 36 · Garner-Hayfield-Ventura | — | Garner-Hayfield-Ventura | 19:27.8 |
| 37 | Elijah WeaverPlace 37 · Forest City | — | Forest City | 19:28.4 |
| 38 | Collin FordPlace 38 · West Hancock | — | West Hancock | 19:34.9 |
| 39 | Brandon EnglinPlace 39 · Garner-Hayfield-Ventura | — | Garner-Hayfield-Ventura | 19:41.7 |
| 40 | Matthew HenrichPlace 40 · Newman Catholic | — | Newman Catholic | 19:43.3 |
| 41 | Makaio HochPlace 41 · Northwood-Kensett | — | Northwood-Kensett | 19:44.5 |
| 42 | Isaac SwensonPlace 42 · Belmond Klemme | — | Belmond Klemme | 19:45.3 |
| 43 | Avery BoosPlace 43 · North Butler | — | North Butler | 20:02.5 |
| 44 | Caden SifertPlace 44 · Belmond Klemme | — | Belmond Klemme | 20:06.3 |
| 45 | Skyler WrightPlace 45 · Osage | — | Osage | 20:07.6 |
| 46 | Trevor KrusePlace 46 · North Union | — | North Union | 20:08.1 |
| 47 | Brock JensenPlace 47 · North Iowa | — | North Iowa | 20:08.6 |
| 48 | Ryan WagnerPlace 48 · St. Ansgar | — | St. Ansgar | 20:10.4 |
| 49 | Aidan JohansonPlace 49 · Lake Mills | — | Lake Mills | 20:13.8 |
| 50 | Isaac SandPlace 50 · Forest City | — | Forest City | 20:16.1 |
| 51 | Austin VonBankPlace 51 · Bishop Garrigan | — | Bishop Garrigan | 20:17.0 |
| 52 | Sam ChildressPlace 52 · Garner-Hayfield-Ventura | — | Garner-Hayfield-Ventura | 20:25.3 |
| 53 | Gage MaddenPlace 53 · North Union | — | North Union | 20:28.9 |
| 54 | Jesse HarePlace 54 · Forest City | — | Forest City | 20:32.7 |
| 55 | Ashton SonbergPlace 55 · Osage | — | Osage | 20:33.6 |
| 56 | Gavin SwiftPlace 56 · Bishop Garrigan | — | Bishop Garrigan | 20:38.7 |
| 57 | Josiah WelchPlace 57 · Forest City | — | Forest City | 20:40.3 |
| 58 | Michael BurnsPlace 58 · Forest City | — | Forest City | 20:43.9 |
| 59 | Logan CoadyPlace 59 · Belmond Klemme | — | Belmond Klemme | 20:51.4 |
| 60 | Lucas PistekPlace 60 · Newman Catholic | — | Newman Catholic | 20:53.5 |
| 61 | Parker RogstadPlace 61 · Lake Mills | — | Lake Mills | 20:53.6 |
| 62 | Jason BrehmerPlace 62 · North Butler | — | North Butler | 20:54.9 |
| 63 | Ethan SeskerPlace 63 · Forest City | — | Forest City | 20:55.7 |
| 64 | Gavin LawsonPlace 64 · Lake Mills | — | Lake Mills | 21:02.4 |
| 65 | Denton KinglandPlace 65 · Lake Mills | — | Lake Mills | 21:05.1 |
| 66 | Scylar SchulzePlace 66 · Garner-Hayfield-Ventura | — | Garner-Hayfield-Ventura | 21:07.1 |
| 67 | Jadyn WelchPlace 67 · Forest City | — | Forest City | 21:07.9 |
| 68 | Garrett HellerPlace 68 · Garner-Hayfield-Ventura | — | Garner-Hayfield-Ventura | 21:09.6 |
| 69 | Joseph BonstetterPlace 69 · Bishop Garrigan | — | Bishop Garrigan | 21:09.7 |
| 70 | Alex NoltonPlace 70 · Forest City | — | Forest City | 21:13.0 |
| 71 | Cohen SifertPlace 71 · Belmond Klemme | — | Belmond Klemme | 21:17.9 |
| 72 | Will HeidemannPlace 72 · Forest City | — | Forest City | 21:24.3 |
| 73 | Cael WollnerPlace 73 · Newman Catholic | — | Newman Catholic | 21:27.9 |
| 74 | Nate MoorePlace 74 · West Hancock | — | West Hancock | 21:33.4 |
| 75 | Mathew JohnsonPlace 75 · Osage | — | Osage | 21:34.0 |
| 76 | Brody DirksenPlace 76 · Forest City | — | Forest City | 21:36.4 |
| 77 | Xander DarlingPlace 77 · Bishop Garrigan | — | Bishop Garrigan | 21:38.5 |
| 78 | Braden RennerPlace 78 · Garner-Hayfield-Ventura | — | Garner-Hayfield-Ventura | 21:45.7 |
| 79 | Cody HallPlace 79 · Forest City | — | Forest City | 21:51.0 |
| 80 | Bryce LarsonPlace 80 · Rockford Senior | — | Rockford Senior | 21:54.6 |
| 81 | Carter JenkinsPlace 81 · Forest City | — | Forest City | 21:58.5 |
| 82 | Andy RiveraPlace 82 · Belmond Klemme | — | Belmond Klemme | 22:04.4 |
| 83 | Ryan AndersenPlace 83 · Newman Catholic | — | Newman Catholic | 22:05.6 |
| 84 | Alec RodriguezPlace 84 · Garner-Hayfield-Ventura | — | Garner-Hayfield-Ventura | 22:06.0 |
| 85 | Kasey IgouPlace 85 · St. Ansgar | — | St. Ansgar | 22:06.3 |
| 86 | Landon KohlerPlace 86 · Newman Catholic | — | Newman Catholic | 22:07.3 |
| 87 | Drew GreenwoodPlace 87 · Forest City | — | Forest City | 22:07.5 |
| 88 | Tyler ClousePlace 88 · Forest City | — | Forest City | 22:10.9 |
| 89 | Cooper EdenPlace 89 · West Hancock | — | West Hancock | 22:11.0 |
| 90 | Tyler NoltonPlace 90 · Forest City | — | Forest City | 22:15.8 |
| 91 | Hayden BruaPlace 91 · Lake Mills | — | Lake Mills | 22:16.3 |
| 92 | Alex SolomonsonPlace 92 · Lake Mills | — | Lake Mills | 22:17.0 |
| 93 | Cesar LechugaPlace 93 · Forest City | — | Forest City | 22:19.4 |
| 94 | Jordan UpmeyerPlace 94 · Garner-Hayfield-Ventura | — | Garner-Hayfield-Ventura | 22:20.6 |
| 95 | Gage JuhlPlace 95 · Forest City | — | Forest City | 22:21.4 |
| 96 | Riley HansonPlace 96 · West Hancock | — | West Hancock | 22:26.6 |
| 97 | Yanvier TorresPlace 97 · Forest City | — | Forest City | 22:30.1 |
| 98 | Lucas MartzannPlace 98 · North Butler | — | North Butler | 22:32.5 |
| 99 | Andrew BeenkenPlace 99 · North Iowa | — | North Iowa | 22:34.8 |
| 100 | Jon AndersenPlace 100 · Newman Catholic | — | Newman Catholic | 22:42.0 |
| 101 | Gage LawsonPlace 101 · North Iowa | — | North Iowa | 22:46.7 |
| 102 | Ty PiperPlace 102 · West Hancock | — | West Hancock | 22:48.1 |
| 103 | Chase CumminsPlace 103 · North Union | — | North Union | 22:49.9 |
| 104 | Alex WesselsPlace 104 · Belmond Klemme | — | Belmond Klemme | 23:16.7 |
| 105 | Adam OwensPlace 105 · Forest City | — | Forest City | 23:17.3 |
| 106 | Shawn OdegaardPlace 106 · North Union | — | North Union | 23:28.6 |
| 107 | Sean MathersPlace 107 · North Butler | — | North Butler | 23:34.4 |
| 108 | Jarrett HuebschPlace 108 · Osage | — | Osage | 23:37.4 |
| 109 | Cory MarthPlace 109 · Rockford Senior | — | Rockford Senior | 23:37.4 |
| 110 | DavidPlace 110 · Griffith | — | Griffith | 23:45.1 |
| 111 | Carson NasstromPlace 111 · Osage | — | Osage | 23:51.1 |
| 112 | Ben StrueberPlace 112 · North Union | — | North Union | 23:53.2 |
| 113 | Leo KlapperichPlace 113 · Osage | — | Osage | 23:59.6 |
| 114 | Saben MerazPlace 114 · Bishop Garrigan | — | Bishop Garrigan | 24:10.0 |
| 115 | Chance EdenPlace 115 · West Hancock | — | West Hancock | 24:20.1 |
| 116 | Reese WilhelmPlace 116 · Lake Mills | — | Lake Mills | 24:35.1 |
| 117 | Eli SteidlPlace 117 · Newman Catholic | — | Newman Catholic | 24:36.4 |
| 118 | Derek OberhelmanPlace 118 · West Hancock | — | West Hancock | 24:42.4 |
| 119 | Andrew PetersPlace 119 · North Butler | — | North Butler | 24:43.0 |
| 120 | Bradan GabrielsonPlace 120 · Belmond Klemme | — | Belmond Klemme | 24:43.8 |
| 121 | Aldo MartinezPlace 121 · Belmond Klemme | — | Belmond Klemme | 24:46.2 |
| 122 | Austin KelsoPlace 122 · North Iowa | — | North Iowa | 25:22.0 |
| 123 | Jaydon GansenPlace 123 · Belmond Klemme | — | Belmond Klemme | 25:40.8 |
| 124 | Dalton ClarkPlace 124 · Belmond Klemme | — | Belmond Klemme | 25:45.6 |
| 125 | Brody BennettPlace 125 · North Iowa | — | North Iowa | 26:04.7 |
| 126 | Jacob HansenPlace 126 · Belmond Klemme | — | Belmond Klemme | 26:12.3 |
| 127 | Dawson ClarkPlace 127 · North Butler | — | North Butler | 26:32.3 |
| 128 | Mason FordPlace 128 · North Butler | — | North Butler | 26:38.6 |
| 129 | Noah BronkPlace 129 · Bishop Garrigan | — | Bishop Garrigan | 27:00.9 |
| 130 | Tyler FordPlace 130 · West Hancock | — | West Hancock | 27:01.6 |
| 131 | Cody PiperPlace 131 · West Hancock | — | West Hancock | 27:32.3 |
| 132 | CarsonPlace 132 · Torreson | — | Torreson | 28:09.4 |
| 133 | Wyatt HeidemanPlace 133 · Belmond Klemme | — | Belmond Klemme | 29:03.7 |
| 134 | Riley EdenPlace 134 · West Hancock | — | West Hancock | 29:52.0 |