1 | 64 | Lakeside Lutheran,
WI - Team Time (1st 5) 1:23:44.4 | Spread (1st 5) 1:55.6 |
| 2, 8, 10, 11, 33, (48), (52) |
| Mitchell Georgi, Ben Tweit, Tyler Punzel, Charlie Pingel, August Gresens, (Ben Runke), (Matt Schumacher) |
| 15:40.4, 16:41.8, 16:51.1, 16:55.1, 17:36.0, (18:01.2), (18:08.2) |
2 | 76 | East Troy,
WI - Team Time (1st 5) 1:25:05.9 | Spread (1st 5) 47.1 |
| 6, 13, 15, 19, 23, (51), (54) |
| Evan Harding, Jake Smith, Nathan Fox, Nathan Mack, Tommy Larson, (Nolan Dallas), (Calvin Collins) |
| 16:36.5, 16:56.0, 16:56.9, 17:12.9, 17:23.6, (18:08.0), (18:12.7) |
3 | 100 | Deerfield,
WI - Team Time (1st 5) 1:24:05.6 | Spread (1st 5) 2:37.7 |
| 3, 4, 17, 18, 58, (63), (65) |
| Spencer Currie, Gus Kaiser, Josh Niesen, Will Kaashagen, Zach Gennrich, (Fritz Kaiser), (Keaton Harrison) |
| 15:41.4, 16:04.6, 16:59.8, 17:00.7, 18:19.1, (18:42.8), (18:51.0) |
4 | 121 | Portage,
WI - Team Time (1st 5) 1:26:50.1 | Spread (1st 5) 48.5 |
| 9, 21, 29, 30, 32, (50), (56) |
| Tyler Jones, Jeromy Kruse, Josiah Hoege, Eli Considine, Max Monfort, (Alexander Jordan), (Connor Allsage) |
| 16:46.3, 17:21.6, 17:33.1, 17:34.3, 17:34.8, (18:07.8), (18:16.3) |
5 | 135 | Jefferson,
WI - Team Time (1st 5) 1:25:53.9 | Spread (1st 5) 2:33.2 |
| 1, 7, 31, 43, 53, (57), (68) |
| Rylee Miller, Ryan Nelson, Logan Dzielinski, Alex Marin, Dylan Schneider, (Ian Sande), (Clayton Thorp) |
| 15:38.5, 16:40.8, 17:34.6, 17:48.3, 18:11.7, (18:17.7), (18:57.7) |
6 | 152 | Whitewater,
WI - Team Time (1st 5) 1:27:44.4 | Spread (1st 5) 1:26.2 |
| 12, 22, 25, 34, 59, (61), (62) |
| Jacob Korf, Matt Mattingly, Jimmy King, Connor Laue, Justin Brantmeier, (Aidan Coburn), (Jon Zheng) |
| 16:55.5, 17:21.7, 17:27.3, 17:38.2, 18:21.7, (18:29.8), (18:42.4) |
7 | 154 | Watertown Luther Prep,
WI - Team Time (1st 5) 1:27:31.5 | Spread (1st 5) 45.5 |
| 16, 28, 35, 36, 39, (49), (60) |
| Ethan Carter, Elijah Strutz, Nathan Riley, Derek Bell, Caleb Arndt, (Josiah Loersch), (Nathaniel Brauer) |
| 16:58.9, 17:31.1, 17:38.4, 17:38.7, 17:44.4, (18:05.9), (18:22.9) |
8 | 193 | Poynette,
WI - Team Time (1st 5) 1:29:07.4 | Spread (1st 5) 2:31.5 |
| 5, 20, 37, 64, 67, (69), (70) |
| Hans Tollaksen, Elias Ritzke, Derek Young, Kyle Mackey, Steven Leiterman, (Logan Bahr), (Erik Lurquin) |
| 16:25.7, 17:15.7, 17:40.9, 18:47.9, 18:57.2, (18:58.3), (19:13.9) |
9 | 205 | Catholic Memorial,
WI - Team Time (1st 5) 1:28:49.1 | Spread (1st 5) 7.2 |
| 38, 40, 41, 42, 44, (45), (46) |
| Mike George, Troy Humpel, Dan Rossi, Grant Jones, Paul Mrochinski, (Sean Waldvogel), (Christian Soper) |
| 17:41.7, 17:45.2, 17:46.5, 17:46.8, 17:48.9, (17:51.4), (17:57.3) |
10 | 273 | Clinton,
WI - Team Time (1st 5) 1:35:41.6 | Spread (1st 5) 4:54.0 |
| 14, 27, 66, 78, 88, (90), (91) |
| Jordan Laatz, Brice Enright, Dylan Mueller, Jordan Decker, Jordan Gustafson, (Sam Carrillo), (Eli Spears) |
| 16:56.4, 17:29.8, 18:56.4, 20:28.6, 21:50.4, (23:20.6), (23:56.0) |
11 | 304 | Lake Mills,
WI - Team Time (1st 5) 1:36:40.6 | Spread (1st 5) 3:12.8 |
| 26, 47, 74, 77, 80, (82), (89) |
| Ben Bollig, JT Toepfer, Joseph Reuss, Abe Flores, Jesse Ritter, (Ben Kalata), (Nicholas Sapp) |
| 17:29.5, 17:58.0, 20:05.6, 20:25.2, 20:42.3, (20:43.7), (22:51.9) |
12 | 339 | Delavan-Darien,
WI - Team Time (1st 5) 1:39:45.8 | Spread (1st 5) 4:05.7 |
| 24, 72, 75, 83, 85, (94) |
| Elberto Gomez, Jon Olson, Julian Perez, Jonathan Olson, Seth Grabow, (Kyle Deschner) |
| 17:24.3, 19:49.5, 20:15.0, 20:47.0, 21:30.0, (26:46.8) |
13 | 380 | St. John's NW Military Academy,
WI - Team Time (1st 5) 1:41:13.7 | Spread (1st 5) 1:13.9 |
| 71, 73, 76, 79, 81, (84), (87) |
| Noah Sellers, Carter Johnson, Kyle Harris, Dakota Stewart, James Petersen, (Alan Cameron), (Traevion Donley) |
| 19:29.7, 20:01.7, 20:24.5, 20:34.2, 20:43.6, (21:17.0), (21:36.3) |
14 | 421 | Columbus,
WI - Team Time (1st 5) 1:58:03.7 | Spread (1st 5) 8:55.1 |
| 55, 86, 92, 93, 95, (96) |
| Dennis Loppnow, Mason Weisman, Adrian Kramer, Nick Raatz, Frank Roelke, (Domminick D'Agnasto) |
| 18:14.3, 21:30.1, 24:48.9, 26:21.0, 27:09.4, (27:27.0) |