1 | 82 | Holland Black River,
MI - Team Time (1st 5) 1:25:08.4 | Spread (1st 5) 1:30.8 |
| 7, 13, 14, 17, 31, (35), (47) |
| James McCann, Justin Lundstrom, Brenden Jones, Joseph Britt, Rohan Dandavati, (Joshua Fink), (Preston Mills) |
| 16:07.0, 16:58.4, 17:10.7, 17:14.5, 17:37.8, (17:43.6), (18:06.4) |
2 | 87 | GR Covenant Christian,
MI - Team Time (1st 5) 1:25:40.9 | Spread (1st 5) 1:03.6 |
| 9, 12, 19, 23, 24, (34), (37) |
| Brantley VanOverloop, Aaron Langerak, Joel Griffioen, Seth Bleyenberg, Brice VanOverloop, (Caleb Koole), (Mike Altena) |
| 16:26.6, 16:54.4, 17:22.5, 17:27.2, 17:30.2, (17:41.3), (17:47.2) |
3 | 90 | Grandville Calvin Christian,
MI - Team Time (1st 5) 1:24:12.7 | Spread (1st 5) 2:10.9 |
| 1, 3, 21, 29, 36, (40), (43) |
| Abe Visser, Logan Jurgens, Taylor Terborg, Gabe Lamer, Colin Rypma, (Noah Lubben), (Hunter VanKlompenberg) |
| 15:35.1, 15:50.2, 17:24.6, 17:36.8, 17:46.0, (17:55.5), (17:59.9) |
4 | 131 | Hesperia,
MI - Team Time (1st 5) 1:25:43.6 | Spread (1st 5) 2:46.3 |
| 2, 4, 32, 39, 54, (55), (70) |
| Damien Halverson, Arik LaFave, Kyle Venne, Collin Nielsen, Hunter Rosema, (Luke Kruppe), (Logan Eaves) |
| 15:48.1, 15:51.3, 17:38.6, 17:51.2, 18:34.4, (18:52.0), (19:53.9) |
5 | 136 | Newaygo,
MI - Team Time (1st 5) 1:26:51.8 | Spread (1st 5) 1:36.9 |
| 10, 11, 25, 44, 46, (53), (63) |
| Max Smith, Andrew Polasek, Brant McKay, Justin Threatt, Adam Holeman, (Isaac Nausadis), (Dallas Miller) |
| 16:28.2, 16:47.1, 17:31.4, 18:00.0, 18:05.1, (18:31.0), (19:07.2) |
6 | 148 | Saranac,
MI - Team Time (1st 5) 1:27:23.0 | Spread (1st 5) 1:46.8 |
| 8, 26, 27, 42, 45, (48), (50) |
| Brendan Klynstra, Branden Smith, Aaron Sluiter, Hunter Hyde, Connor McElvain, (Patrick Miller), (Kyle VanSpronsen) |
| 16:15.2, 17:32.4, 17:34.4, 17:59.0, 18:02.0, (18:06.8), (18:18.8) |
7 | 187 | GR West Catholic,
MI - Team Time (1st 5) 1:29:11.1 | Spread (1st 5) 3:01.0 |
| 6, 28, 38, 56, 59, (61), (69) |
| Bobby Haskin, Jacob Schantz, Conor O'Brien, Matt Jager, Brendan Harrington, (Alex Richmond), (Corey Stein) |
| 15:57.0, 17:35.9, 17:47.7, 18:52.5, 18:58.0, (19:00.5), (19:44.2) |
8 | 193 | Montague,
MI - Team Time (1st 5) 1:30:37.7 | Spread (1st 5) 2:02.8 |
| 18, 20, 33, 57, 65, (67), (87) |
| Brennen Zuniga, Matt Lipka, Joe Dandron, Zack Lemmen, Christian Lipka, (Javen Zamojcin), (Emmit Gorman) |
| 17:20.0, 17:23.0, 17:39.0, 18:52.9, 19:22.8, (19:42.6), (21:47.7) |
9 | 194 | Muskegon Oakridge,
MI - Team Time (1st 5) 1:31:19.0 | Spread (1st 5) 3:06.1 |
| 15, 16, 22, 64, 77, (95) |
| Ryan Ruel, Tylor Carmean, Kyle Messerschmidt, Zach Tindall, Simran Rai, (Hunter Macleod) |
| 17:11.3, 17:12.4, 17:24.8, 19:13.1, 20:17.4, (22:36.0) |
10 | 244 | Kent City,
MI - Team Time (1st 5) 1:32:10.3 | Spread (1st 5) 4:22.9 |
| 5, 41, 60, 62, 76, (79), (82) |
| Fraser Wilson, Aaron Ortiz, Joshua Lee, Cody Smith, Ben Swanson, (Mitchell VanOeffelen), (Nicholas Kridler) |
| 15:53.0, 17:58.3, 18:59.9, 19:03.2, 20:15.9, (20:26.4), (20:53.1) |
11 | 284 | GR NorthPointe Christian,
MI - Team Time (1st 5) 1:34:17.3 | Spread (1st 5) 1:50.4 |
| 49, 51, 52, 58, 74, (80), (81) |
| Ben Kole, Yonathan Tessema, Logan Linder, Brad Wynalda, Quinn Hascall, (Daniel Li), (Tyler Boomsma) |
| 18:17.0, 18:25.8, 18:29.2, 18:57.9, 20:07.4, (20:43.8), (20:51.0) |
12 | 381 | Ravenna,
MI - Team Time (1st 5) 1:41:55.4 | Spread (1st 5) 2:34.7 |
| 66, 73, 75, 78, 89, (90), (96) |
| Peter Kubasiak, Noah Moran, Jordan Wenzinger, Dylan Kiester, Derek Forner, (Paul Bowyer), (Tyler Hekkema) |
| 19:27.0, 19:59.0, 20:09.1, 20:18.6, 22:01.7, (22:11.0), (23:58.0) |
13 | 391 | Wyoming Lee,
MI - Team Time (1st 5) 1:58:18.2 | Spread (1st 5) 16:28.1 |
| 30, 71, 94, 97, 99 |
| Leo Vallejo, Jorge Evans, Artrullo Unk, Lius Ruiz, David Ruiz |
| 17:37.3, 19:54.9, 22:35.0, 24:05.6, 34:05.4 |
14 | 419 | Lakeview,
MI - Team Time (1st 5) 1:46:47.5 | Spread (1st 5) 2:43.2 |
| 68, 85, 86, 88, 92, (98) |
| Benett Tomandl, Tyler Keilholtz, Brendon DeRosia, Dylan Bates, Vincent Heydt, (Cameron Moore) |
| 19:43.5, 21:02.7, 21:42.0, 21:52.6, 22:26.7, (26:36.1) |
15 | 423 | GR Wellspring Prep,
MI - Team Time (1st 5) 1:46:45.9 | Spread (1st 5) 2:31.9 |
| 72, 83, 84, 91, 93 |
| Nate Oldenberg, Andrew VanderMeer, Evan Meekhoff, Josh Hansma, Austin Galovich |
| 19:56.1, 20:56.0, 21:01.6, 22:24.2, 22:28.0 |