| 1 | 22 | Freeman Academy/Marion - CLOSED,
SD - Team Time (1st 5) 1:31:19.2 | Spread (1st 5) 57.4 |
| 1, 2, 4, 6, 9 |
| Ryan Haggerty, Thaniel Schroeder, Dane Allison, Brennan Haggerty, Daniel Jundt |
| 17:51.8, 17:58.5, 18:17.0, 18:22.7, 18:49.2 |
| 2 | 60 | Viborg-Hurley,
SD - Team Time (1st 5) 1:37:42.9 | Spread (1st 5) 3:02.6 |
| 3, 8, 10, 17, 22 |
| Layne Meyers, Logan Hansen, Logan Slack, Quinn Doorn, Ryan Doorn |
| 18:05.3, 18:31.6, 19:18.4, 20:39.7, 21:07.9 |
| 3 | 83 | Burke,
SD - Team Time (1st 5) 1:41:09.7 | Spread (1st 5) 3:47.2 |
| 5, 7, 16, 25, 30 |
| Kray Person, Tyson Vogt, Washake Vaughn, Dustin Crabb, Jesse Williams |
| 18:18.6, 18:29.0, 20:29.7, 21:46.6, 22:05.8 |
| 4 | 87 | Irene-Wakonda,
SD - Team Time (1st 5) 1:42:20.7 | Spread (1st 5) 2:24.6 |
| 11, 12, 14, 24, 26 |
| Joe Sees, Levi Van Beek, Michael Sees, Adam Katrenak, Alfonso Erickson |
| 19:23.1, 19:32.0, 20:09.3, 21:28.6, 21:47.7 |
| 5 | 115 | Platte-Geddes,
SD - Team Time (1st 5) 1:48:42.0 | Spread (1st 5) 6:12.2 |
| 13, 15, 19, 28, 40 |
| Josiah Brink, Cole Nachtigal, Jarod Severson, Caden Tegethoff, Matthew Brink |
| 19:39.4, 20:15.2, 21:00.1, 21:55.7, 25:51.6 |
| 6 | 125 | Parker/Marion,
SD - Team Time (1st 5) 1:48:33.4 | Spread (1st 5) 2:25.1 |
| 20, 21, 23, 27, 34 |
| Blake Olson, Grant Plucker, Nick Thon, Mace Plucker, Camden Bialas |
| 21:00.3, 21:00.4, 21:13.6, 21:53.7, 23:25.4 |
| 7 | 153 | Freeman,
SD - Team Time (1st 5) 1:53:45.0 | Spread (1st 5) 3:05.5 |
| 18, 29, 33, 36, 37 |
| Dalton Bodewitz, James Baer, Kyle Lemme, Bailey Sage, Hunter Balvin |
| 20:45.2, 22:04.2, 23:23.4, 23:41.5, 23:50.7 |
| 8 | 175 | Marion - CLOSED,
SD - Team Time (1st 5) 1:57:44.9 | Spread (1st 5) 1:43.4 |
| 31, 32, 35, 38, 39 |
| Luis Lopez, Greg Engbrecht, Koleman Matthies, Carson Gross, Preston Engbrecht |
| 22:36.0, 23:15.7, 23:26.9, 24:06.9, 24:19.4 |