| 1 | Logan SternbergPlace 1 · Grade 10 · Sparta | 10 | Sparta | 17:30.38 |
| 2 | Chris MorenoPlace 2 · Grade 10 · Sparta | 10 | Sparta | 17:42.65 |
| 3 | Duncan BargmanPlace 3 · Grade 10 · Chester | 10 | Chester | 18:10.58 |
| 4 | Carson KortePlace 4 · Grade 9 · Bluford (Webber) | 9 | Bluford (Webber) | 18:18.17 |
| 5 | Ky PortzPlace 5 · Grade 11 · Marissa | 11 | Marissa | 18:43.47 |
| 6 | Nick HoldenerPlace 6 · Grade 11 · Waterloo (Gibault Catholic) | 11 | Waterloo (Gibault Catholic) | 18:49.61 |
| 7 | Max BauePlace 7 · Grade 11 · Sparta | 11 | Sparta | 18:50.09 |
| 8 | Albert HoerrPlace 8 · Grade 9 · Valmeyer | 9 | Valmeyer | 18:51.41 |
| 9 | Logan NumiPlace 9 · Grade 12 · DuQuoin | 12 | DuQuoin | 18:58.28 |
| 10 | Kolin MartinezPlace 10 · Grade 9 · Chester | 9 | Chester | 19:01.01 |
| 11 | Ransom LuggePlace 11 · Grade 10 · Okawville | 10 | Okawville | 19:02.92 |
| 12 | Chase WordPlace 12 · Grade 12 · Freeburg | 12 | Freeburg | 19:03.58 |
| 13 | Kelton SchnepelPlace 13 · Grade 9 · Red Bud | 9 | Red Bud | 19:07.62 |
| 14 | James SwaffordPlace 14 · Grade 12 · DuQuoin | 12 | DuQuoin | 19:10.31 |
| 15 | Roman DitchPlace 15 · Grade 9 · Chester | 9 | Chester | 19:18.42 |
| 16 | Alan WolterPlace 16 · Grade 12 · Red Bud | 12 | Red Bud | 19:23.15 |
| 17 | Chris PaezPlace 17 · Grade 10 · Campbell Hill (Trico) | 10 | Campbell Hill (Trico) | 19:24.73 |
| 18 | Gabriel CharlesPlace 18 · Grade 12 · Okawville | 12 | Okawville | 19:25.51 |
| 19 | Parker KlausingPlace 19 · Grade 9 · Sparta | 9 | Sparta | 19:28.17 |
| 20 | Hunter BrunkhorstPlace 20 · Grade 9 · Chester | 9 | Chester | 19:50.73 |
| 21 | Korbin ZweigartPlace 21 · Grade 12 · Sparta | 12 | Sparta | 19:52.21 |
| 22 | Alex GummersheimerPlace 22 · Grade 11 · Columbia | 11 | Columbia | 19:53.17 |
| 23 | Camden HughesPlace 23 · Grade 9 · Woodlawn | 9 | Woodlawn | 20:09.30 |
| 24 | Jaden RamirezPlace 24 · Grade 11 · Chester | 11 | Chester | 20:12.78 |
| 25 | Lucas SummersPlace 25 · Grade 9 · Red Bud | 9 | Red Bud | 20:16.08 |
| 26 | Liam ClarkPlace 26 · Grade 10 · Freeburg | 10 | Freeburg | 20:18.96 |
| 27 | Pedro HernandezPlace 27 · Grade 10 · Chester | 10 | Chester | 20:35.77 |
| 28 | Colin ChoisserPlace 28 · Grade 10 · Valmeyer | 10 | Valmeyer | 20:44.70 |
| 29 | Owen OsbornPlace 29 · Grade 10 · Freeburg | 10 | Freeburg | 20:49.67 |
| 30 | Gavin ScheminantPlace 30 · Grade 12 · Steeleville | 12 | Steeleville | 20:51.11 |
| 31 | Hubert WearyPlace 31 · Grade 11 · Columbia | 11 | Columbia | 20:59.61 |
| 32 | Lucian HowardPlace 32 · Grade 12 · DuQuoin | 12 | DuQuoin | 21:00.94 |
| 33 | Justin SchmollPlace 33 · Grade 12 · Red Bud | 12 | Red Bud | 21:07.85 |
| 34 | Conner BerrothPlace 34 · Grade 9 · Columbia | 9 | Columbia | 21:10.49 |
| 35 | Kaden BuehlerPlace 35 · Grade 12 · Okawville | 12 | Okawville | 21:13.50 |
| 36 | Nathan LeemonPlace 36 · Grade 12 · Marissa | 12 | Marissa | 21:17.61 |
| 37 | Floyd AdamsPlace 37 · Grade 9 · Campbell Hill (Trico) | 9 | Campbell Hill (Trico) | 21:30.18 |
| 38 | Carter BrownPlace 38 · Grade 9 · Steeleville | 9 | Steeleville | 21:36.88 |
| 39 | Levi HampelPlace 39 · Grade 10 · Freeburg | 10 | Freeburg | 21:39.01 |
| 40 | Connor GarciaPlace 40 · Grade 9 · Columbia | 9 | Columbia | 21:48.44 |
| 41 | AJ HeinenPlace 41 · Grade 9 · Waterloo (Gibault Catholic) | 9 | Waterloo (Gibault Catholic) | 21:52.65 |
| 42 | Stanley HoerrPlace 42 · Grade 10 · Valmeyer | 10 | Valmeyer | 21:56.90 |
| 43 | Caden CapecchiPlace 43 · Grade 9 · Okawville | 9 | Okawville | 21:59.06 |
| 44 | Hayden MontroyPlace 44 · Grade 9 · Sparta | 9 | Sparta | 22:00.14 |
| 45 | Ryan Arevelo LopezPlace 45 · Grade 9 · Chester | 9 | Chester | 22:02.69 |
| 46 | Lane CowellPlace 46 · Grade 9 · Red Bud | 9 | Red Bud | 22:04.48 |
| 47 | William HaynesPlace 47 · Grade 11 · Sparta | 11 | Sparta | 22:05.58 |
| 48 | Kegan MayPlace 48 · Grade 10 · Columbia | 10 | Columbia | 22:16.00 |
| 49 | Rhett ReissPlace 49 · Grade 10 · Steeleville | 10 | Steeleville | 22:25.64 |
| 50 | Brady BowlinPlace 50 · Grade 9 · Steeleville | 9 | Steeleville | 22:31.19 |
| 51 | Caleb GarrenPlace 51 · Grade 10 · DuQuoin | 10 | DuQuoin | 22:35.70 |
| 52 | Ty VossPlace 52 · Grade 12 · Red Bud | 12 | Red Bud | 22:44.64 |
| 53 | James BrowningPlace 53 · Grade 10 · Columbia | 10 | Columbia | 22:50.42 |
| 54 | Clayton MaynardPlace 54 · Grade 12 · Okawville | 12 | Okawville | 22:56.16 |
| 55 | Daniel Aparicio AzaraPlace 55 · Grade 10 · Steeleville | 10 | Steeleville | 22:58.97 |
| 56 | Luke HelfrichPlace 56 · Grade 9 · Freeburg | 9 | Freeburg | 23:02.46 |
| 57 | Ben ParkerPlace 57 · Grade 11 · Columbia | 11 | Columbia | 23:03.21 |
| 58 | Agustin Fernandez-MontesPlace 58 · Grade 10 · Bluford (Webber) | 10 | Bluford (Webber) | 23:23.25 |
| 59 | Evan HillPlace 59 · Grade 12 · Valmeyer | 12 | Valmeyer | 23:50.11 |
| 60 | Andrew VestPlace 60 · Grade 9 · Valmeyer | 9 | Valmeyer | 23:55.35 |
| 61 | Evan GrahamPlace 61 · Grade 11 · Steeleville | 11 | Steeleville | 24:01.17 |
| 62 | William SasserPlace 62 · Grade 10 · Columbia | 10 | Columbia | 24:31.73 |
| 63 | Jackson AlexanderPlace 63 · Grade 12 · Steeleville | 12 | Steeleville | 24:41.90 |
| 64 | Drew KouchnerkavichPlace 64 · Grade 12 · Freeburg | 12 | Freeburg | 25:00.45 |
| 65 | Micah SattlerPlace 65 · Grade 9 · Red Bud | 9 | Red Bud | 25:11.29 |
| 66 | Gage LangPlace 66 · Grade 12 · Freeburg | 12 | Freeburg | 25:23.10 |
| 67 | Brett HendersonPlace 67 · Grade 10 · Okawville | 10 | Okawville | 25:46.45 |
| 68 | Cameren KeysPlace 68 · Grade 12 · Red Bud | 12 | Red Bud | 26:27.04 |
| 69 | Cam WoodromePlace 69 · Grade 11 · Columbia | 11 | Columbia | 26:42.36 |
| 70 | Wesley BaytonPlace 70 · Grade 10 · Freeburg | 10 | Freeburg | 26:47.77 |
| 71 | Joey StuartPlace 71 · Grade 9 · Waterloo (Gibault Catholic) | 9 | Waterloo (Gibault Catholic) | 27:23.82 |
| 72 | Ben TarrPlace 72 · Grade 10 · Columbia | 10 | Columbia | 28:18.37 |
| 73 | Conlan BroughPlace 73 · Grade 10 · Freeburg | 10 | Freeburg | 28:33.34 |