1 | 59 | Spring Lake,
MI - Team Time (1st 5) 1:23:44.5 | Spread (1st 5) 1:38.0 |
| 2, 3, 12, 18, 24, (26), (30) |
| Ian Hill, Callen Carrier, Carter Phillips, Asher Liu, Adam MacLeod, (Sam Davidson), (Ryan Rymal) |
| 15:53.4, 16:04.3, 16:54.0, 17:21.4, 17:31.4, (17:33.8), (17:51.2) |
2 | 63 | GR Christian,
MI - Team Time (1st 5) 1:24:01.6 | Spread (1st 5) 1:13.9 |
| 6, 7, 8, 20, 22, (23), (25) |
| Tinsae Nelson, Ben Zwart, Jack Peterson, Dylan Clark, Jack Nelson, (Jasper Casamento), (Reuben Wiering) |
| 16:16.5, 16:19.5, 16:30.2, 17:25.0, 17:30.4, (17:31.0), (17:32.5) |
3 | 64 | Allendale,
MI - Team Time (1st 5) 1:24:13.1 | Spread (1st 5) 1:46.0 |
| 1, 9, 11, 16, 27, (31), (41) |
| Hayden Rhodea, Cris Perez, Cameron Moore, Nathan Terbeek, TJ Meyer, (Blake Nelson), (Jas Multani) |
| 15:51.7, 16:34.3, 16:48.8, 17:20.6, 17:37.7, (18:05.1), (18:30.7) |
4 | 129 | GR Catholic Central,
MI - Team Time (1st 5) 1:28:37.3 | Spread (1st 5) 1:35.9 |
| 13, 17, 19, 37, 43, (51), (55) |
| Henry Bock, Benjamin Bridge, Erickson Kunzler, Ian Richthammer, Brian Langlois, (Keagan Host), (Kalib Perry) |
| 16:58.4, 17:21.0, 17:23.2, 18:20.4, 18:34.3, (18:54.6), (19:05.5) |
5 | 138 | Comstock Park,
MI - Team Time (1st 5) 1:28:28.7 | Spread (1st 5) 2:46.3 |
| 4, 21, 28, 35, 50, (59), (61) |
| Carter VanderMeer, Gavin Burd, Ethan Morrow, Ethan Gough, Josiah Drake, (Lucas Nyenhuis), (Charlie Commeret) |
| 16:07.8, 17:29.1, 17:46.4, 18:11.3, 18:54.1, (19:32.6), (19:52.9) |
6 | 152 | Hudsonville Unity Christian,
MI - Team Time (1st 5) 1:29:23.7 | Spread (1st 5) 2:27.0 |
| 5, 29, 32, 40, 46, (52), (58) |
| Gavin VanSolkema, Hank Kooyer, Braedon Veurink, Braden DeGraaf, Josh Heyboer, (Nate Oosterhouse), (Todd Leatherman) |
| 16:16.2, 17:48.6, 18:05.5, 18:30.2, 18:43.2, (18:56.0), (19:23.2) |
7 | 210 | GR West Catholic,
MI - Team Time (1st 5) 1:33:19.9 | Spread (1st 5) 3:17.4 |
| 14, 33, 42, 56, 65, (67), (74) |
| Kolbe Mills, Quinton Bauer, Colin Walch, Simon Plum, Jack VandeGuchte, (Matt Bouwhuis), (Caleb Huizinga) |
| 17:02.7, 18:05.6, 18:33.7, 19:17.8, 20:20.1, (20:26.4), (21:06.8) |
8 | 211 | Fruitport,
MI - Team Time (1st 5) 1:32:38.8 | Spread (1st 5) 37.5 |
| 34, 38, 44, 47, 48, (49), (54) |
| Jordan Seelye, Levi Glynn, Connor Lodholtz, Alex Facundo, Johnathon McMullin, (Ethan Horan), (Jacob Piper) |
| 18:06.9, 18:24.6, 18:38.9, 18:44.0, 18:44.4, (18:46.2), (19:04.5) |
9 | 242 | Wyoming Kelloggsville,
MI - Team Time (1st 5) 1:37:06.0 | Spread (1st 5) 5:27.6 |
| 10, 15, 64, 72, 81, (84), (85) |
| Christian Martinez, Ramon Moreno, Joesph Guerra, Jonathan Lian, Diego Sanchez, (Diego Rodriguez), (Juan Camarena) |
| 16:39.1, 17:08.0, 20:07.3, 21:04.9, 22:06.7, (22:41.2), (22:41.4) |
10 | 283 | Coopersville,
MI - Team Time (1st 5) 1:37:06.1 | Spread (1st 5) 1:49.6 |
| 45, 53, 57, 60, 68, (71), (82) |
| Brendan Nolan, Ashton Kamps, Derek Morren, Colton Beaune, Hunter Ruwersma, (Sam Rickerd), (Jonah Sanchez) |
| 18:40.2, 19:01.1, 19:22.0, 19:33.0, 20:29.8, (20:41.1), (22:07.5) |
11 | 293 | Muskegon Oakridge,
MI - Team Time (1st 5) 1:39:40.0 | Spread (1st 5) 3:15.4 |
| 36, 39, 63, 77, 78, (86) |
| Max Voorhies, Maxwell Remondino, Garrison Klinge, Devin Jeppesen, Justin Smith, (Camren Dial) |
| 18:11.6, 18:29.6, 20:05.8, 21:26.0, 21:27.0, (22:50.2) |
12 | 359 | Wyoming Lee,
MI - Team Time (1st 5) 1:44:29.6 | Spread (1st 5) 1:21.6 |
| 66, 69, 70, 75, 79, (89) |
| Carlos Hernandez-Martinez, Jose Maya, Oscar Sosa, Isaias Monarez-Ayala, Jayden Miller, (Joel Pablo) |
| 20:22.2, 20:32.9, 20:33.3, 21:17.4, 21:43.8, (24:15.9) |
13 | 374 | Grand River Prep,
MI - Team Time (1st 5) 1:46:41.3 | Spread (1st 5) 2:17.3 |
| 62, 73, 76, 80, 83, (86), (88) |
| Andrew LeMahieu, Raphael Obuchi, Raekwon Liburd, Junior Tovar, Daniel Patten, (Vinny Vielma), (Ethan Uminn) |
| 19:56.2, 21:06.5, 21:21.3, 22:03.8, 22:13.5, (22:50.2), (22:58.5) |