1 | 62 | Muskego,
WI - Team Time (1st 5) 1:23:36.4 | Spread (1st 5) 1:11.3 |
| 2, 5, 16, 18, 21, (26), (30) |
| Mike O'Connor, Zac Hopp, Austin Hackney, Nick Rudd, Andrew Salo, (Sebastian Miller), (Alex Kocher) |
| 15:58.8, 16:22.0, 17:01.2, 17:04.3, 17:10.1, (17:18.4), (17:22.6) |
2 | 74 | Waukesha South,
WI - Team Time (1st 5) 1:23:49.2 | Spread (1st 5) 1:36.0 |
| 1, 7, 20, 22, 24, (26), (33) |
| Brad Woodford, Alex Sayles, Justin Washington, Jack Clayton, Ricardo Contreras, (Vince Paikowski), (Andrew Gilhart) |
| 15:39.8, 16:35.0, 17:05.7, 17:12.9, 17:15.8, (17:18.4), (17:24.0) |
3 | 105 | Mukwonago,
WI - Team Time (1st 5) 1:24:52.0 | Spread (1st 5) 1:29.1 |
| 4, 6, 15, 36, 44, (50), (69) |
| Ian Cichacki, Matt Cyra, Adam Wavra, Cullen Schuh, Jonathan Carlson, (Kyle Rasmussen), (Josh Green) |
| 16:11.6, 16:33.9, 17:00.0, 17:25.8, 17:40.7, (17:48.7), (18:19.5) |
4 | 117 | Waukesha North,
WI - Team Time (1st 5) 1:25:52.2 | Spread (1st 5) 40.3 |
| 9, 13, 30, 32, 33, (40), (48) |
| Jacob Jodat, Chris Cisneros, Brian Long, JJ Becher, Lane Geisness, (Jon Olsen), (Josh Lindsay) |
| 16:43.7, 16:59.2, 17:22.6, 17:22.7, 17:24.0, (17:31.5), (17:46.4) |
5 | 126 | Waukesha West,
WI - Team Time (1st 5) 1:25:28.5 | Spread (1st 5) 1:33.8 |
| 3, 10, 29, 37, 47, (57), (68) |
| Ryan Worden, Brian Warras, Christian Walz, Danny Jacobson, Ean Aleson, (Taylor Seegert), (Alex Julius) |
| 16:11.4, 16:45.7, 17:19.6, 17:26.6, 17:45.2, (17:55.7), (18:16.7) |
6 | 127 | Franklin,
WI - Team Time (1st 5) 1:26:14.0 | Spread (1st 5) 53.9 |
| 12, 17, 19, 25, 54, (55), (62) |
| Tyler Jensen, Will Campbell, Phillip Guilbault, Nikolai Grabowski, Evan Watters, (James Pitcher), (Lee Smith) |
| 16:57.5, 17:03.8, 17:05.1, 17:16.2, 17:51.4, (17:54.5), (18:07.8) |
7 | 135 | Kettle Moraine,
WI - Team Time (1st 5) 1:26:17.7 | Spread (1st 5) 33.5 |
| 11, 23, 28, 35, 38, (45), (45) |
| Greg Gamroth, Keven Sandel, Josh Sarna, Kevin Sandel, Colton King, (Nick Hoppe), (Alex Hintz) |
| 16:53.5, 17:13.2, 17:18.9, 17:25.1, 17:27.0, (17:44.9), (17:44.9) |
8 | 252 | South Milwaukee,
WI - Team Time (1st 5) 1:29:03.4 | Spread (1st 5) 35.3 |
| 39, 43, 51, 58, 61, (72), (77) |
| Max Schweikl, Sam Gargulak, Zach Alexander, Josh Roszak, Sam Stojsavljevic, (Charles Markowiak), (Nate Rittershaus) |
| 17:31.2, 17:39.7, 17:49.0, 17:57.0, 18:06.5, (18:37.6), (18:56.6) |
9 | 255 | Greenfield,
WI - Team Time (1st 5) 1:29:06.2 | Spread (1st 5) 39.5 |
| 41, 42, 49, 59, 64, (65), (70) |
| Cody Hagfors, Dan Pitroski, Casey Sabinash, Tom Friedbacker, Andy Sabinash, (Ryan Manzak), (Mike Hensiak) |
| 17:33.6, 17:34.0, 17:47.8, 17:57.7, 18:13.1, (18:15.6), (18:22.4) |
10 | 293 | Greendale,
WI - Team Time (1st 5) 1:30:24.7 | Spread (1st 5) 57.5 |
| 52, 53, 55, 60, 73, (74), (75) |
| Cody Hough, Garrett Patterson, Josh Moran, Steve Ulatowski, Haily Kazik, (Tim Davis), (Nico Gomez) |
| 17:50.2, 17:50.9, 17:54.5, 18:01.4, 18:47.7, (18:49.0), (18:50.1) |
11 | 300 | Milwaukee Bradley Technical,
WI - Team Time (1st 5) 1:31:36.3 | Spread (1st 5) 2:11.0 |
| 14, 63, 66, 78, 79, (83), (84) |
| Luis Resendiz, Mussa Konneh, Dequan Prater, Milo Miller, Brett Norton, (Donovan Donaldson), (Nik Miller) |
| 16:59.6, 18:09.6, 18:15.8, 19:00.7, 19:10.6, (19:41.3), (19:44.5) |
12 | 302 | Cudahy,
WI - Team Time (1st 5) 1:31:36.7 | Spread (1st 5) 2:37.0 |
| 8, 67, 71, 76, 80, (81), (82) |
| Zach Plachinski, Mike Tiskus, Jon Grimes, Vicente Delgado, Mehmet Stermolli, (Matt Gostomski), (Taylor Gawrych) |
| 16:37.2, 18:16.4, 18:32.9, 18:56.0, 19:14.2, (19:16.5), (19:28.0) |