1 | 25 | Saugatuck,
MI - Team Time (1st 5) 1:23:01.9 | Spread (1st 5) 1:20.2 |
| 1, 3, 4, 8, 9, (13), (14) |
| Jacob Pettinga, Zachary Pettinga, Nick Butch, Joe Brown, Orlando Carrion, (David Borland), (Eldon Garvelink) |
| 15:52.4, 16:25.0, 16:30.2, 17:01.7, 17:12.6, (17:34.8), (17:43.1) |
2 | 84 | Eau Claire,
MI - Team Time (1st 5) 1:29:52.6 | Spread (1st 5) 52.5 |
| 11, 16, 18, 19, 20, (28), (41) |
| Rolando Hernandez, Santiago Banda, Travis Klitchman, Nathan Blighton, Jordan Jones, (Rafael Lopez), (Caleb Falcone) |
| 17:21.5, 17:58.9, 18:05.3, 18:12.9, 18:14.0, (18:25.5), (19:47.5) |
3 | 91 | North Muskegon,
MI - Team Time (1st 5) 1:28:33.0 | Spread (1st 5) 2:09.1 |
| 6, 7, 21, 27, 30, (35), (36) |
| Chase Eslick, Wesley Collins, Jake Lorenz, Connor Durow, Frank Lee, (Sam Hardy), (Noah Brininstool) |
| 16:33.6, 16:34.1, 18:18.1, 18:24.5, 18:42.7, (19:18.3), (19:19.2) |
4 | 108 | Muskegon Western Mich. Christian,
MI - Team Time (1st 5) 1:30:09.5 | Spread (1st 5) 2:11.2 |
| 5, 17, 26, 29, 31, (33), (37) |
| Braxton Snuffer, Luke Brink, David Gilson, Nate Dugener, Andrew Plaisier, (Christian Foreman), (Greg Plyler) |
| 16:31.9, 18:02.8, 18:23.7, 18:28.0, 18:43.1, (18:51.9), (19:34.6) |
5 | 122 | Holton,
MI - Team Time (1st 5) 1:31:51.7 | Spread (1st 5) 3:24.1 |
| 2, 22, 25, 34, 39, (42), (46) |
| Jacob Tanner, Tanner Fowler, Kevin Slowik, Jasman Sidhu, Aaron Poling, (Cameron Andrews), (Kyle Elliott) |
| 16:16.0, 18:19.4, 18:22.8, 19:13.4, 19:40.1, (20:26.7), (22:51.0) |
6 | 140 | Lawrence,
MI - Team Time (1st 5) 1:33:56.3 | Spread (1st 5) 1:50.5 |
| 15, 23, 24, 38, 40, (43), (44) |
| Gerardo Belmares, Israel Robles, Nick Vazquez, Bryce Poore, Joel Macyauski, (Daine Pease-Keys), (Jose Patlan) |
| 17:54.7, 18:19.7, 18:20.7, 19:36.0, 19:45.2, (20:32.8), (20:34.0) |
7 | 146 | New Buffalo,
MI - Team Time (1st 5) 1:42:13.6 | Spread (1st 5) 10:45.0 |
| 10, 12, 32, 45, 47 |
| Riley VanPelt, Parker DePalma, Creo Breswter, John Gaeta, Vicky Patel |
| 17:16.1, 17:31.3, 18:49.5, 20:35.6, 28:01.1 |