1 | 41 | GR_Christian, MI - Team Time (1st 5) 1:23:00.9 | Spread (1st 5) 45.2 |
| 2, 7, 8, 9, 15, (22), (23) |
| Jack Luymes, Ethan Wilstermann, Jack Peterson, Graham Kort, Ben Zwart, (Ben Peterson), (Jonathan Shippert) |
| 16:13.8, 16:28.5, 16:39.2, 16:40.4, 16:59.0, (17:17.8), (17:30.9) |
2 | 83 | Allendale, MI - Team Time (1st 5) 1:25:17.5 | Spread (1st 5) 1:07.3 |
| 6, 13, 19, 20, 25, (28), (41) |
| Hayden Rhodea, Cris Perez, Nathan Terbeek, Cameron Moore, Joe Fordney, (Dakota Riemersma), (Blake Nelson) |
| 16:26.7, 16:58.4, 17:07.5, 17:10.9, 17:34.0, (17:37.7), (17:55.5) |
3 | 92 | Spring Lake, MI - Team Time (1st 5) 1:25:28.3 | Spread (1st 5) 1:33.6 |
| 1, 3, 27, 30, 31, (39), (48) |
| Ian Hill, Callen Carrier, Carter Phillips, Tyler Munch, Adam MacLeod, (Josh Sevener), (Jack Parker) |
| 16:10.5, 16:14.7, 17:36.6, 17:42.4, 17:44.1, (17:54.2), (18:07.5) |
4 | 124 | GR_Catholic Central, MI - Team Time (1st 5) 1:27:06.8 | Spread (1st 5) 47.6 |
| 16, 17, 26, 32, 33, (41), (47) |
| Henry Bock, Max Klein, Kalib Perry, Erickson Kunzler, Lucas Reul, (Aidan Burke), (Brian Langlois) |
| 16:59.1, 17:00.4, 17:34.6, 17:46.0, 17:46.7, (17:55.5), (18:04.3) |
5 | 131 | Hudsonville Unity Christian, MI - Team Time (1st 5) 1:26:29.7 | Spread (1st 5) 1:59.8 |
| 4, 5, 35, 38, 49, (58), (59) |
| Jacob Buit, Caleb Gaffner, Hank Kooyer, Gavin VanSolkema, Braden DeGraaf, (Josh Heyboer), (Luke Schmidt) |
| 16:15.8, 16:16.7, 17:48.9, 17:52.7, 18:15.6, (18:46.1), (18:46.9) |
6 | 174 | GR_West Catholic, MI - Team Time (1st 5) 1:28:50.8 | Spread (1st 5) 2:05.2 |
| 12, 29, 36, 37, 60, (73), (75) |
| Edward Frey, Kolbe Mills, Colin Walch, Vinny Ladner, Quinton Bauer, (Jonathan Jensen), (Elisha Fedisoni) |
| 16:44.1, 17:39.0, 17:49.1, 17:49.3, 18:49.3, (19:48.7), (20:21.2) |
7 | 198 | GR_Kenowa Hills, MI - Team Time (1st 5) 1:29:48.4 | Spread (1st 5) 1:11.4 |
| 21, 24, 50, 51, 52, (68), (70) |
| Derek Smith, Zachary Hanson, Austin O'brien, Izik Janusz, Zeke Dykstra, (Jonathan Donihue), (Josh Hoffman) |
| 17:12.6, 17:32.4, 18:15.8, 18:23.6, 18:24.0, (19:19.7), (19:37.8) |
8 | 217 | Fruitport, MI - Team Time (1st 5) 1:30:27.8 | Spread (1st 5) 2:11.6 |
| 9, 40, 53, 54, 61, (63), (65) |
| Jon Wildey, Jordan Seelye, Cameron Weaver, Zach Pray, Connor Lodholtz, (Karson Fitzgerald), (Jacob Piper) |
| 16:40.4, 17:54.8, 18:26.6, 18:34.0, 18:52.0, (19:00.6), (19:05.9) |
9 | 233 | Comstock Park, MI - Team Time (1st 5) 1:31:38.2 | Spread (1st 5) 2:56.9 |
| 11, 33, 56, 62, 71, (83), (86) |
| Carter VanderMeer, Gavin Burd, Owen Kittendorf, Ethan Morrow, Josiah Drake, (Logan Sauline), (Caleb LaVallee) |
| 16:43.2, 17:46.7, 18:34.9, 18:53.3, 19:40.1, (22:17.1), (23:22.9) |
10 | 245 | Wyoming Kelloggsville, MI - Team Time (1st 5) 1:44:49.6 | Spread (1st 5) 14:37.4 |
| 14, 18, 43, 77, 93 |
| Christian Martinez, Joesph Guerra, Ramon Moreno, Kevin Ton, David Munoz |
| 16:58.7, 17:06.7, 17:57.9, 21:10.2, 31:36.1 |
11 | 256 | Grand River Prep, MI - Team Time (1st 5) 1:31:52.4 | Spread (1st 5) 1:04.8 |
| 44, 45, 46, 57, 64, (66), (72) |
| Darren Mitchelson, Connor Elliott, Raphael Obuchi, Andrew LeMahieu, Trent Herrera, (Eduardo Mora), (David Stegehuis) |
| 17:59.8, 18:02.2, 18:04.1, 18:41.7, 19:04.6, (19:08.8), (19:44.9) |
12 | 356 | Muskegon, MI - Team Time (1st 5) 1:41:53.6 | Spread (1st 5) 3:11.4 |
| 55, 67, 76, 78, 80, (85), (87) |
| Lamar Lee, Freddy Hull, Jarvis Walker, Donte Thompson, Anthony Sydnor, (Maurice Sain), (David Day) |
| 18:34.3, 19:18.3, 20:58.4, 21:16.9, 21:45.7, (22:54.9), (23:52.7) |
13 | 391 | Coopersville, MI - Team Time (1st 5) 1:47:18.2 | Spread (1st 5) 4:40.1 |
| 69, 74, 79, 81, 88, (90) |
| Ashton Kamps, Derek Morren, Marshall Broere, Hunter Ruwersma, Phubet Pitakphuwade, (Conner Maycroft) |
| 19:35.2, 20:03.3, 21:31.2, 21:53.2, 24:15.3, (25:20.8) |
14 | 438 | Wyoming Godwin Heights, MI - Team Time (1st 5) 2:08:42.9 | Spread (1st 5) 7:45.5 |
| 82, 84, 89, 91, 92 |
| Victor Evans, Shahied Word, Alexis Martell, Eric Rodriguez, Dominick Butler |
| 22:15.3, 22:49.5, 25:04.8, 28:32.5, 30:00.8 |