| Jaiden Kohler - Somerset | 25:53.90 | 26:00.10 | 26:39.90 | 19:12.80 | 7:27.10 |
| Noah Schulenburg - Platteville | 22:21.20 | 22:51.80 | 27:41.30 | 22:07.40 | 5:33.90 |
| Jeremiah Parrott - Tomah | 24:23.50 | 17:52.30 | 30:00.00 | 24:27.60 | 5:32.40 |
| Ethan Schumacher - Wauwatosa East | 30:25.10 | 27:44.00 | 25:40.50 | 20:53.50 | 4:47.00 |
| Chance Ernst - Luther | 20:53.40 | 21:46.70 | 23:52.34 | 19:13.10 | 4:39.24 |
| Brandon Scott - Arrowhead | 19:42.50 | 19:10.65 | 23:16.50 | 19:09.30 | 4:07.20 |
| Logan Horn - New London | 17:37.00 | 19:30.50 | 22:21.60 | 18:57.50 | 3:24.10 |
| Tobey Westcott - Elk Mound | 23:03.17 | 23:36.58 | 22:34.97 | 19:29.15 | 3:05.82 |
| Fernando Ramos - Platteville | 24:14.70 | 26:45.80 | 24:55.10 | 21:56.70 | 2:58.40 |
| Jr Waltenberry - Waukesha North | 24:51.40 | 22:10.84 | 23:11.29 | 20:18.50 | 2:52.79 |
| Skylar Brownlee - Riverdale | 26:38.50 | 23:06.00 | 23:18.60 | 20:27.30 | 2:51.30 |
| Connor Grahovac - Somerset | 23:10.50 | 22:42.80 | 23:13.60 | 20:28.10 | 2:45.50 |
| Aj Miller - Elk Mound | 24:22.09 | 20:07.51 | 24:01.90 | 21:18.80 | 2:43.10 |
| Gavin Wiese - Augusta | 30:39.71 | 26:09.90 | 24:38.70 | 21:59.20 | 2:39.50 |
| Will Meier - Iola-Scandinavia | 20:46.00 | 22:09.69 | 20:52.28 | 18:15.33 | 2:36.95 |
| Ethan Zentner - Nicolet | 23:02.30 | 22:40.99 | 22:07.70 | 19:35.20 | 2:32.50 |
| Ari Ayala - Whitefish Bay | 21:50.80 | 20:53.05 | 22:24.40 | 19:57.90 | 2:26.50 |
| Russell Jackson - Hillsboro | 22:11.70 | 24:23.10 | 23:43.80 | 21:25.20 | 2:18.60 |
| Lucas Borman - Medford Area | 22:13.00 | 21:13.40 | 21:54.70 | 19:36.10 | 2:18.60 |
| David Choi - St. Lawrence Seminary | 24:39.27 | 23:46.94 | 24:35.20 | 22:18.45 | 2:16.75 |
| Pratyush Shahir - New Berlin Eisenhower | 20:22.00 | 18:58.80 | 19:31.60 | 17:16.20 | 2:15.40 |
| Mario Lopez - Arcadia | 32:17.20 | 32:58.60 | 32:12.90 | 30:05.50 | 2:07.40 |
| Jimmy O'Neill - St. Lawrence Seminary | 25:01.90 | 22:12.23 | 22:06.00 | 19:59.10 | 2:06.90 |
| Tim Geils - Badger | 24:59.10 | 22:59.68 | 20:20.28 | 18:13.90 | 2:06.38 |
| Kohen Bonnell - Somerset | 23:16.40 | 23:45.20 | 20:41.06 | 18:36.60 | 2:04.46 |
| Rocco Barzano - Horicon | 22:29.77 | 23:15.40 | 22:04.55 | 20:01.99 | 2:02.56 |
| Micah Vanderhoof - Kettle Moraine Lutheran | 21:49.02 | 20:36.00 | 20:18.00 | 18:17.80 | 2:00.20 |
| Bennett Borgwardt - Valders | 22:54.80 | 23:59.22 | 21:10.95 | 19:12.10 | 1:58.85 |
| Adam Kent-Ropski - Muskego | 25:58.85 | 24:55.91 | 23:53.50 | 21:55.67 | 1:57.83 |
| Ethan Heder - Kettle Moraine Lutheran | 21:03.86 | 20:13.50 | 21:30.00 | 19:32.30 | 1:57.70 |
| AJ Millman - Whitnall | 23:00.44 | 23:45.90 | 25:15.80 | 23:19.73 | 1:56.07 |
| Broderick Schneider - Barron | 25:03.30 | 24:57.40 | 24:36.90 | 22:41.47 | 1:55.43 |
| Devin Canik - Butternut | 22:40.20 | 21:41.10 | 21:38.00 | 19:43.60 | 1:54.40 |
| Wyatt Abts - Cochrane-Fountain City | 23:55.20 | 27:04.20 | 25:40.20 | 23:47.10 | 1:53.10 |
| Pierson Hamann - Marathon | 22:22.80 | 21:32.60 | 20:41.40 | 18:50.10 | 1:51.30 |
| Nathan Cole - Roncalli | 20:49.30 | 22:16.00 | 21:10.20 | 19:22.85 | 1:47.35 |
| Miles Jaeger - Laconia | 26:19.70 | 26:06.80 | 24:01.24 | 22:14.74 | 1:46.50 |
| Nathan Tuschl - Waunakee | 20:34.30 | 26:48.10 | 21:10.80 | 19:26.34 | 1:44.46 |
| Carl Oskar Wilcox-borg - Tomah | 21:06.80 | 20:54.70 | 18:36.00 | 16:52.00 | 1:44.00 |
| Henry Coluchi - Shorewood | 25:01.10 | 22:56.00 | 23:29.50 | 21:45.97 | 1:43.53 |
| Ethan Osborn - Somerset | 25:13.50 | 24:31.00 | 21:22.92 | 19:39.80 | 1:43.12 |
| Cooper Johnson - Mukwonago | 20:45.07 | 20:46.50 | 18:32.20 | 16:51.10 | 1:41.10 |
| Elliot Scott - Shell Lake Middle School | 25:31.00 | 22:56.20 | 24:07.40 | 22:28.00 | 1:39.40 |
| Adisun Romprey - Laona/Wabeno | 19:32.00 | 23:00.90 | 19:03.20 | 17:24.50 | 1:38.70 |
| Nich Jolie - Wauwatosa East | 21:53.10 | 22:48.00 | 20:00.60 | 18:23.34 | 1:37.26 |
| Taje Casey - Tomahawk | 21:22.40 | 26:48.90 | 20:35.00 | 19:00.00 | 1:35.00 |
| Brady Mildebrandt - Markesan | 21:21.40 | 24:20.00 | 22:21.83 | 20:46.84 | 1:34.99 |
| Josh Steiner - Wauwatosa East | 22:47.70 | 21:09.00 | 18:21.20 | 16:46.70 | 1:34.50 |
| Trevor Zabrowski - Waterford Union | 23:55.30 | 20:38.63 | 19:31.90 | 17:57.90 | 1:34.00 |
| Matthew Shepherd - Winneconne | 19:06.76 | 19:07.80 | 19:12.42 | 17:40.00 | 1:32.42 |
| Gage Anderson - Waupaca | 22:18.90 | 21:09.00 | 23:26.60 | 21:55.70 | 1:30.90 |
| Ben Fraley - Wauwatosa East | 24:20.97 | 21:46.00 | 20:37.40 | 19:06.61 | 1:30.79 |
| Logan Grotenhuis - Slinger | 18:33.90 | 17:30.40 | 18:16.30 | 16:46.29 | 1:30.01 |
| Nicholas Pully - Ashland | 22:50.80 | 22:05.60 | 20:32.01 | 19:04.20 | 1:27.81 |
| Carter Carlson - Clear Lake | 20:58.10 | 19:49.52 | 20:36.30 | 19:08.80 | 1:27.50 |
| Grayson Schmitt - Richland Center/Ithaca | 28:09.90 | 24:18.90 | 25:01.50 | 23:35.30 | 1:26.20 |
| Hayden Wilson - Baldwin-Woodville | 21:53.20 | 21:42.72 | 20:26.04 | 19:00.40 | 1:25.64 |
| Kayden Walta - Bloomer | 23:23.80 | 24:29.30 | 22:07.90 | 20:42.80 | 1:25.10 |
| Brian Cid - Albany | 20:14.20 | 19:45.40 | 18:53.00 | 17:28.00 | 1:25.00 |
| Clayton Holt - Big Foot | 20:01.90 | 24:44.00 | 24:16.24 | 22:51.29 | 1:24.95 |
| Sam Brunner - Whitnall | 21:58.71 | 22:54.54 | 21:02.90 | 19:38.10 | 1:24.80 |
| Wyatt Blevins - Campbellsport | 20:22.52 | 20:18.48 | 19:49.71 | 18:25.16 | 1:24.55 |
| Hunter Lechner - Black River Falls | 26:12.00 | 23:01.00 | 23:13.90 | 21:51.70 | 1:22.20 |
| Mason Heuer - Wautoma | 27:55.00 | 27:03.65 | 31:12.20 | 29:50.31 | 1:21.89 |
| Kile Sullivan - Chilton | 22:21.99 | 22:33.50 | 20:42.81 | 19:21.26 | 1:21.55 |
| Jaden Liermann - Waukesha South | 18:53.70 | 20:47.25 | 19:24.60 | 18:05.70 | 1:18.90 |
| Mark Jarman - Northwestern | 22:55.48 | 19:42.60 | 18:51.42 | 17:32.62 | 1:18.80 |
| Owen Erickson - Kenosha Bradford | 19:42.20 | 19:13.00 | 18:45.40 | 17:27.20 | 1:18.20 |
| Brayden Nelson - Horicon | 28:09.82 | 25:48.10 | 24:07.03 | 22:49.08 | 1:17.95 |
| Josh Steurer - Home School Eagles | 19:59.27 | 19:23.16 | 18:58.89 | 17:41.00 | 1:17.89 |
| Jack Field - Wisconsin Dells | 22:42.45 | 22:10.40 | 21:17.20 | 19:59.80 | 1:17.40 |
| Heny Colucci - Shorewood | 24:09.40 | 23:24.77 | 21:58.60 | 20:41.67 | 1:16.93 |
| Jacob Cooley - West Bend East | 22:37.40 | 21:21.50 | 21:03.70 | 19:46.78 | 1:16.92 |
| Sam Billingsley - Waterloo | 23:15.95 | 24:13.70 | 21:15.10 | 19:59.50 | 1:15.60 |
| Charles Schreiber - Nicolet | 22:47.00 | 25:24.14 | 22:31.88 | 21:18.06 | 1:13.82 |
| Landon Kohlmeier - Luther | 25:42.00 | 29:09.70 | 21:33.00 | 20:19.20 | 1:13.80 |
| Tianyi Peter) Ma - Kettle Moraine Lutheran | 24:07.59 | 24:41.60 | 23:18.40 | 22:05.30 | 1:13.10 |
| Ted Emmert - Manawa | 21:30.83 | 21:15.40 | 22:38.71 | 21:25.78 | 1:12.93 |
| Luke Baird - Union Grove | 20:54.80 | 19:21.83 | 19:25.82 | 18:12.90 | 1:12.92 |
| Jonah Melso - Manitowoc Lutheran | 21:07.74 | 19:38.93 | 18:52.45 | 17:39.62 | 1:12.83 |
| Isaiah Deitz - Chequamegon | 18:33.20 | 18:12.70 | 19:12.80 | 18:00.20 | 1:12.60 |
| Ben Stange - Platteville | 21:32.60 | 21:56.00 | 20:48.40 | 19:35.90 | 1:12.50 |
| Jack Marvin - Horicon | 21:28.84 | 20:31.43 | 21:03.80 | 19:52.37 | 1:11.43 |
| Justin Reuter - Southwestern/Cuba City/Benton | 19:01.40 | 19:14.80 | 19:51.67 | 18:40.40 | 1:11.27 |
| Johnathon Rutta - Rosholt | 21:00.60 | 21:07.01 | 20:33.00 | 19:21.84 | 1:11.16 |
| Blake Oleson - Verona Area | 17:03.20 | 16:32.48 | 16:59.33 | 15:48.30 | 1:11.03 |
| Aiden Miesbauer - Chequamegon | 19:42.90 | 18:34.50 | 18:58.00 | 17:47.00 | 1:11.00 |
| Conlan Welch - Wauwatosa West | 23:47.91 | 22:14.70 | 22:54.79 | 21:43.90 | 1:10.89 |
| Jaden Sitzberger - Kimberly | 21:29.60 | 21:19.70 | 18:34.00 | 17:23.70 | 1:10.30 |
| Rusty Klitzman - Parkview | 23:53.50 | 21:25.97 | 21:35.70 | 20:25.70 | 1:10.00 |
| Matt Leder - Kimberly | 18:58.20 | 18:25.60 | 17:46.30 | 16:36.50 | 1:09.80 |
| Ethan Rodell - Kettle Moraine Lutheran | 21:15.10 | 20:42.00 | 20:00.80 | 18:51.80 | 1:09.00 |
| Blake Isaacsen - Palmyra-Eagle | 21:38.54 | 19:08.12 | 19:15.30 | 18:07.30 | 1:08.00 |
| Riley Laesch - Baldwin-Woodville | 20:54.20 | 23:18.77 | 20:24.40 | 19:18.00 | 1:06.40 |
| John Paul Meer - Saint Thomas More | 18:34.40 | 18:38.90 | 18:29.36 | 17:23.40 | 1:05.96 |
| Noah Duex - Chippewa Falls | 23:44.70 | 24:04.30 | 25:04.60 | 23:59.40 | 1:05.20 |
| Alexander Bodie - DeForest | 19:58.93 | 22:09.10 | 19:36.10 | 18:31.37 | 1:04.73 |
| Tony Chen - Wisconsin Lutheran | 22:36.30 | 22:25.10 | 19:14.70 | 18:11.39 | 1:03.31 |
| Gino Feciskonin - Port Washington | 20:43.50 | 19:12.50 | 18:51.10 | 17:48.50 | 1:02.60 |
| Mason Pfarrer - Brookfield Central | 19:56.50 | 18:58.60 | 18:57.80 | 17:55.80 | 1:02.00 |
| Austin Cunningham - Wisconsin Dells | 19:29.30 | 20:42.03 | 19:32.23 | 18:30.50 | 1:01.73 |
| Spencer Pattee - Valders | 22:58.27 | 22:33.00 | 22:06.32 | 21:04.63 | 1:01.69 |
| Brayden Yanda - Roncalli | 18:05.65 | 17:26.60 | 17:15.16 | 16:13.82 | 1:01.34 |
| Jonathan Kurth - East Troy | 20:54.00 | 20:36.50 | 19:07.14 | 18:06.08 | 1:01.06 |
| Sam Seguin - Menomonie | 23:51.40 | 21:57.87 | 19:47.80 | 18:48.70 | 59.10 |
| Elliott Hanson - Merrill | 19:38.00 | 20:07.70 | 20:01.80 | 19:03.70 | 58.10 |
| Cullin Ternes - Random Lake | 22:08.93 | 21:29.50 | 21:28.89 | 20:32.22 | 56.67 |
| Cole Hrudka - Valders | 23:09.10 | 21:43.82 | 22:12.90 | 21:16.28 | 56.62 |
| Kaden Kowalski - Mishicot | 20:31.60 | 20:36.87 | 19:18.61 | 18:22.27 | 56.34 |
| Spencer Thiry - Luxemburg-Casco | 17:32.58 | 17:13.88 | 17:39.10 | 16:43.00 | 56.10 |
| Casen Udelhofen - Platteville | 19:29.10 | 19:16.40 | 18:34.70 | 17:38.80 | 55.90 |
| Jaxon Pettit - Wisconsin Dells | 19:40.80 | 20:10.60 | 19:07.30 | 18:13.20 | 54.10 |
| Jacob Lashua - Iola-Scandinavia | 19:29.30 | 17:56.90 | 18:39.60 | 17:45.69 | 53.91 |
| Alec Bjork - Phillips | 21:16.20 | 21:44.00 | 20:03.60 | 19:09.90 | 53.70 |
| Jasper Knutson - Ellsworth | 22:21.20 | 21:14.00 | 20:48.90 | 19:55.26 | 53.64 |
| Ben Burie - Waukesha North | 20:46.09 | 18:55.90 | 18:34.30 | 17:41.60 | 52.70 |
| Beckett Chambers - Notre Dame Academy | 18:29.10 | 17:46.90 | 17:53.80 | 17:01.30 | 52.50 |
| Nick Doedens - Muskego | 20:48.92 | 18:57.97 | 18:43.10 | 17:51.05 | 52.05 |
| Angelo Brantner - Eau Claire Regis | 18:45.42 | 19:57.30 | 18:47.60 | 17:55.90 | 51.70 |
| Adam Kundinger - Auburndale | 22:09.10 | 21:34.00 | 20:44.30 | 19:53.00 | 51.30 |
| Will Fuerbringer - Chilton | 19:38.47 | 19:15.02 | 19:29.62 | 18:38.64 | 50.98 |
| John Nowak - Coleman | 20:00.21 | 19:05.30 | 18:54.56 | 18:03.60 | 50.96 |
| Cody Ruetz - Rhinelander | 19:28.90 | 18:50.90 | 18:05.40 | 17:15.00 | 50.40 |
| Jackson Braun - Kettle Moraine | 22:19.30 | 19:37.51 | 17:44.61 | 16:54.30 | 50.31 |
| Ian Blake - Marathon | 21:08.00 | 20:20.00 | 19:28.10 | 18:37.80 | 50.30 |
| Tobyn Fogle - Whitnall | 23:45.85 | 23:47.50 | 23:08.20 | 22:18.10 | 50.10 |
| Kenny Power - Xavier | 18:04.00 | 17:47.36 | 17:03.79 | 16:13.70 | 50.09 |
| Logan Feggestad - Omro | 21:46.30 | 20:28.88 | 20:29.55 | 19:40.21 | 49.34 |
| Seth Luxem - Racine Lutheran | 24:39.90 | 22:00.20 | 20:34.40 | 19:45.13 | 49.27 |
| Reed Hosking - Lena/Saint Thomas Academy | 21:37.10 | 20:07.40 | 20:53.80 | 20:04.60 | 49.20 |
| Blake Radish - Hortonville | 18:56.70 | 18:35.10 | 17:47.80 | 16:58.70 | 49.10 |
| Zach Koenigs - West Bend West | 17:57.00 | 18:02.00 | 19:03.00 | 18:14.34 | 48.66 |
| Henry Dennis - St. Mary's Springs | 18:27.00 | 19:13.78 | 17:56.00 | 17:07.90 | 48.10 |
| Joey Merrill - Wisconsin Lutheran | 18:36.59 | 17:59.60 | 17:20.90 | 16:32.90 | 48.00 |
| Christian Crumbaker - Chippewa Falls | 18:51.90 | 18:20.60 | 18:48.00 | 18:00.00 | 48.00 |
| Trenton Nicklaus - Brillion | 20:44.77 | 19:56.20 | 19:56.76 | 19:08.92 | 47.84 |
| Calvin Mendoza - Kimberly | 20:53.50 | 20:32.90 | 19:28.50 | 18:40.80 | 47.70 |
| Justin Heimsch - Arrowhead | 20:29.70 | 18:38.90 | 17:47.00 | 16:59.50 | 47.50 |
| Jacob Golembiewski - Franklin | 22:39.30 | 20:51.50 | 21:21.00 | 20:34.10 | 46.90 |
| Alex Radichel - Immanuel Lutheran | 24:34.80 | 25:23.26 | 21:58.00 | 21:11.50 | 46.50 |
| George West - Darlington | 18:17.90 | 16:57.51 | 17:34.09 | 16:47.70 | 46.39 |
| Mason Hancock - Osceola | 19:37.16 | 17:21.60 | 16:50.00 | 16:04.70 | 45.30 |
| Callan Bainbridge - Heritage Christian | 25:14.60 | 24:05.60 | 23:00.20 | 22:15.20 | 45.00 |
| Carter Davis - Menomonie | 18:23.59 | 19:12.40 | 17:56.50 | 17:11.80 | 44.70 |
| Hayden Triebold - Oconomowoc | 17:06.20 | 16:14.80 | 16:08.50 | 15:23.90 | 44.60 |
| Anthony Henrichon - Fort Atkinson | 17:52.66 | 19:27.00 | 17:51.30 | 17:06.70 | 44.60 |
| Devin Molinaro - Augusta | 26:56.00 | 20:24.00 | 19:06.70 | 18:22.30 | 44.40 |
| Aidan Roberts - Cedarburg | 20:41.50 | 20:21.10 | 19:34.00 | 18:49.64 | 44.36 |
| Adam Dolata - Saint Thomas More | 24:15.14 | 23:59.20 | 24:37.40 | 23:53.14 | 44.26 |
| Matthew Clauer - Mukwonago | 19:03.82 | 17:36.25 | 17:25.20 | 16:41.10 | 44.10 |
| Mason Gates - Manitowoc Lincoln | 17:34.60 | 16:51.36 | 16:12.90 | 15:28.90 | 44.00 |
| Zach Fitzpatrick - West Salem | 21:03.40 | 20:10.40 | 19:24.50 | 18:40.70 | 43.80 |
| JJ Williams - Glenwood City | 17:41.13 | 17:12.34 | 16:51.60 | 16:08.30 | 43.30 |
| Ryan Flood - West De Pere | 19:10.00 | 18:45.40 | 18:04.20 | 17:21.00 | 43.20 |
| Benjamin Stowell - Richland Center/Ithaca | 21:58.40 | 21:40.30 | 19:38.00 | 18:54.80 | 43.20 |
| Alex Mikes - Auburndale | 20:25.10 | 21:35.70 | 19:51.86 | 19:09.00 | 42.86 |
| Kaleb Regoli - Deerfield/Cambridge (XC) | 21:19.80 | 21:29.94 | 19:44.40 | 19:01.80 | 42.60 |
| Garett Deiter - Brillion | 21:58.40 | 20:38.84 | 19:57.90 | 19:15.70 | 42.20 |
| Brody Buettner - Portage | 24:31.51 | 22:13.00 | 19:21.53 | 18:39.50 | 42.03 |
| Arnav Gupta - Franklin | 20:48.65 | 20:43.90 | 19:10.90 | 18:29.30 | 41.60 |
| Ben Monarski - Wausau East | 20:04.00 | 21:02.40 | 20:16.00 | 19:34.90 | 41.10 |
| John Astle - Arrowhead | 20:38.20 | 21:58.67 | 19:33.00 | 18:52.00 | 41.00 |
| John Vogt - Muskego | 22:18.94 | 21:24.30 | 20:02.86 | 19:22.10 | 40.76 |
| Adam Eiden - Pacelli | 17:46.00 | 16:56.60 | 16:43.00 | 16:03.28 | 39.72 |
| Delorean Peterson - Blair-Taylor | 21:31.50 | 19:43.70 | 18:29.90 | 17:50.20 | 39.70 |
| Caleb Radmer - West Bend East | 23:32.70 | 20:38.70 | 20:08.10 | 19:28.97 | 39.13 |
| Riley Borchardt - Ozaukee | 21:12.00 | 21:02.32 | 19:16.90 | 18:37.97 | 38.93 |
| Cameron Essert - Two Rivers | 21:23.83 | 20:17.29 | 21:04.73 | 20:25.80 | 38.93 |
| Harrison Cull - Oconomowoc | 19:14.41 | 19:04.83 | 18:10.10 | 17:31.40 | 38.70 |
| Alex Loyda - Nicolet | 23:54.70 | 22:46.34 | 22:20.70 | 21:42.40 | 38.30 |
| Andrew Fujimoto - Oconomowoc | 21:58.40 | 22:15.40 | 21:00.10 | 20:22.00 | 38.10 |
| Cameron Bratzke - Sussex Hamilton | 18:08.80 | 18:04.90 | 18:02.00 | 17:24.00 | 38.00 |
| Ayden Dunst - Bonduel | 18:32.45 | 19:53.71 | 19:25.20 | 18:47.29 | 37.91 |
| Evan Peterson - Gillett | 18:09.40 | 17:45.70 | 17:25.10 | 16:47.50 | 37.60 |
| Dylan Powell - Brookwood | 18:16.50 | 17:05.00 | 16:55.60 | 16:18.20 | 37.40 |
| Taylor Knetter - Wisconsin Dells | 20:29.40 | 21:48.67 | 19:48.10 | 19:10.90 | 37.20 |
| Noah Fibiger - Kohler | 23:48.87 | 20:25.80 | 20:27.00 | 19:49.90 | 37.10 |
| Cavan Fuller - New Berlin West | 23:37.50 | 21:39.53 | 20:02.10 | 19:25.80 | 36.30 |
| Alex Ewart - Oconomowoc | 22:07.00 | 19:55.87 | 19:04.50 | 18:28.30 | 36.20 |
| Erik Grabandt - Platteville | 19:11.70 | 18:57.70 | 18:35.20 | 17:59.20 | 36.00 |
| Brandon Acker - Oak Creek | 19:37.08 | 19:52.80 | 18:26.70 | 17:50.70 | 36.00 |
| Davis Behler - Kohler | 16:55.30 | 16:45.67 | 16:57.42 | 16:21.60 | 35.82 |
| Brett Fox - West Bend West | 19:30.40 | 18:35.00 | 18:18.20 | 17:42.40 | 35.80 |
| Peyton Marble - Slinger | 22:26.00 | 19:40.70 | 19:41.00 | 19:05.32 | 35.68 |
| Noah Witcpalek - Wrightstown | 22:46.80 | 20:48.00 | 21:39.00 | 21:03.80 | 35.20 |
| Waylon Rogers - Menomonie | 20:59.81 | 20:41.80 | 19:08.50 | 18:33.40 | 35.10 |
| Luke Wolf - Mukwonago | 17:33.90 | 17:04.10 | 16:59.20 | 16:24.20 | 35.00 |
| Will Bakken - Little Chute | 18:12.84 | 17:31.80 | 17:39.59 | 17:04.60 | 34.99 |
| Atley Rasmussen - Elkhorn Area | 22:37.70 | 21:22.60 | 20:13.50 | 19:38.70 | 34.80 |
| Matthew Lynes - Prescott | 22:41.19 | 19:45.00 | 17:50.64 | 17:15.90 | 34.74 |
| Jackson Gundrum - Slinger | 22:01.90 | 23:01.90 | 24:54.36 | 24:20.26 | 34.10 |
| Mark Sonnentag - Colfax | 22:42.80 | 20:36.48 | 20:59.10 | 20:25.20 | 33.90 |
| Andrew Jenkins - Campbellsport | 21:01.74 | 21:12.10 | 21:38.18 | 21:04.62 | 33.56 |
| Bryce Hohensee - Catholic Memorial | 17:03.30 | 17:38.80 | 18:02.70 | 17:29.40 | 33.30 |
| Elek Anderson - Glenwood City | 18:40.90 | 18:24.02 | 18:17.80 | 17:44.66 | 33.14 |
| Dhir Patel - Germantown | 21:11.60 | 20:37.60 | 20:11.00 | 19:37.90 | 33.10 |
| Owen Kowalewski - Arrowhead | 18:07.50 | 17:53.34 | 17:14.49 | 16:41.60 | 32.89 |
| Eli Fredrickson - Kenosha Bradford | 19:21.20 | 18:20.09 | 17:58.30 | 17:25.70 | 32.60 |
| Dominic Graeme - Poynette | 23:06.90 | 22:44.93 | 21:38.60 | 21:06.12 | 32.48 |
| Logan Pickart - Dodgeland | 19:41.70 | 18:35.02 | 17:58.05 | 17:25.61 | 32.44 |
| Dillon Walker - Germantown | 17:11.10 | 16:58.17 | 16:20.60 | 15:48.30 | 32.30 |
| Max Stingley - Reedsburg Area | 21:28.50 | 19:54.06 | 19:19.34 | 18:47.20 | 32.14 |
| Cole Grabian - Peshtigo | 20:04.99 | 21:10.16 | 20:00.40 | 19:28.43 | 31.97 |
| Carter Doan - Tri State Homeschool | 21:57.46 | 21:02.43 | 20:31.40 | 19:59.50 | 31.90 |
| Jonas Boshart - Fort Atkinson | 22:27.00 | 24:01.00 | 20:46.40 | 20:14.50 | 31.90 |
| Stewart Gundry - Fall Creek | 19:34.40 | 19:55.60 | 18:55.60 | 18:23.80 | 31.80 |
| Logan Fike - Wausau East | 20:02.00 | 20:22.60 | 19:15.00 | 18:43.40 | 31.60 |
| Nathan Lobocki - Brookfield Central | 21:55.80 | 20:05.90 | 19:11.70 | 18:40.17 | 31.53 |
| Isiah Schuh - Weyauwega-Fremont | 20:34.00 | 19:43.94 | 19:03.60 | 18:32.08 | 31.52 |
| Jay Gelhard - Marquette | 22:43.30 | 20:57.80 | 18:44.60 | 18:13.20 | 31.40 |
| Nick Stitzer - Riverdale | 19:35.90 | 17:29.26 | 16:37.70 | 16:06.40 | 31.30 |
| Elijah Lovely - Wauwatosa West | 21:42.70 | 22:06.40 | 20:57.20 | 20:26.10 | 31.10 |
| Seth Ciha - Manitowoc Lutheran | 19:22.31 | 17:53.30 | 18:49.25 | 18:18.20 | 31.05 |
| Noah Deis - Platteville | 22:13.90 | 21:06.60 | 19:56.60 | 19:25.70 | 30.90 |
| Cody Rafn - Germantown | 21:21.90 | 19:42.60 | 18:21.60 | 17:50.77 | 30.83 |
| Tyler Dahmes - Oak Creek | 19:46.63 | 18:27.90 | 18:51.20 | 18:20.40 | 30.80 |
| Luke Millmann - Wauwatosa East | 22:54.88 | 20:37.20 | 17:59.60 | 17:28.90 | 30.70 |
| Drew Vaszily - Sheboygan Area Lutheran | 23:43.88 | 19:56.41 | 18:55.16 | 18:24.52 | 30.64 |
| Tommy Rose - Hortonville | 18:07.80 | 17:44.40 | 18:26.20 | 17:55.70 | 30.50 |
| Ashton Yarrington - Colfax | 19:53.70 | 19:41.07 | 18:43.80 | 18:13.40 | 30.40 |
| Matt Wery - Kewaunee | 26:31.17 | 23:23.00 | 21:20.47 | 20:50.07 | 30.40 |
| Eli Boppart - Mauston | 17:17.30 | 16:37.90 | 16:10.60 | 15:40.60 | 30.00 |
| Dirk Wilson - Cochrane-Fountain City | 22:22.60 | 21:34.20 | 20:21.90 | 19:52.00 | 29.90 |
| Isaak Breeden - Brillion | 22:15.20 | 22:18.60 | 20:16.62 | 19:47.00 | 29.62 |
| Ben Plum - Whitefish Bay | 20:24.90 | 18:36.61 | 18:35.21 | 18:05.80 | 29.41 |
| Robby Coburn - Homestead | 19:35.50 | 19:49.90 | 18:54.30 | 18:24.90 | 29.40 |
| Connor Mcconnell - Prescott | 23:20.60 | 22:02.30 | 20:21.10 | 19:51.70 | 29.40 |
| Lucas Wachowiak - Oconomowoc | 24:58.64 | 22:10.47 | 21:20.11 | 20:50.90 | 29.21 |
| Garret Johnson - Poynette | 20:49.55 | 20:32.37 | 19:25.59 | 18:56.93 | 28.66 |
| Isaac Nowak - Notre Dame Academy | 17:36.10 | 16:51.60 | 16:23.70 | 15:55.60 | 28.10 |
| Garrett Ray - Shullsburg/Belmont | 20:52.40 | 17:49.40 | 17:59.10 | 17:31.10 | 28.00 |
| Owen Blevins - Campbellsport | 20:21.45 | 20:18.96 | 20:19.71 | 19:51.79 | 27.92 |
| Liam Nolan - Wauwatosa East | 20:55.50 | 19:14.00 | 17:27.50 | 16:59.80 | 27.70 |
| William Stypla - Wilmot Union | 26:19.30 | 26:05.54 | 28:47.42 | 28:19.85 | 27.57 |
| Owen Oertel - Germantown | 19:33.10 | 20:06.40 | 18:11.90 | 17:44.70 | 27.20 |
| Max Cooley - Wauzeka-Steuben | 22:19.60 | 21:47.30 | 21:15.50 | 20:48.30 | 27.20 |
| Ayden Darnell - Altoona | 20:15.87 | 17:55.83 | 17:51.40 | 17:24.40 | 27.00 |
| Bryce Morauske - DeForest | 20:30.54 | 19:56.20 | 18:19.40 | 17:52.72 | 26.68 |
| Thomas Connolly - Kenosha St. Joseph | 22:41.60 | 21:19.80 | 20:51.60 | 20:25.26 | 26.34 |
| Isaiah Gauer - Poynette | 19:53.24 | 18:05.90 | 19:19.00 | 18:52.84 | 26.16 |
| Dylan Salewski - Osceola | 18:34.00 | 17:20.30 | 17:32.70 | 17:06.60 | 26.10 |
| Wade Lablanc - Horicon | 23:39.81 | 22:35.00 | 21:17.48 | 20:51.59 | 25.89 |
| Jack Bremer - Westosha Central | 23:11.50 | 19:56.90 | 19:36.00 | 19:10.30 | 25.70 |
| Tyler Moore - Sussex Hamilton | 17:33.10 | 16:30.70 | 17:03.80 | 16:38.13 | 25.67 |
| Jackson Meissner - Oconomowoc | 21:44.15 | 20:22.53 | 19:00.00 | 18:34.80 | 25.20 |
| Joseph Stumpf - Notre Dame Academy | 17:56.10 | 17:30.60 | 16:40.50 | 16:15.50 | 25.00 |
| Ben Zellmer - Cedarburg | 22:40.80 | 20:47.40 | 20:44.20 | 20:19.40 | 24.80 |
| Kyle Giricz - Catholic Memorial | 17:49.70 | 17:17.13 | 16:47.51 | 16:23.20 | 24.31 |
| Nathan Klauck - Arrowhead | 17:21.30 | 16:51.00 | 16:45.80 | 16:21.60 | 24.20 |
| Henry Allard - Flambeau | 23:05.60 | 21:05.60 | 19:48.60 | 19:24.60 | 24.00 |
| Derek Kreier - Clear Lake | 18:10.50 | 17:35.29 | 17:48.20 | 17:24.30 | 23.90 |
| Sean Cook - Muskego | 19:59.01 | 18:29.30 | 18:18.20 | 17:54.30 | 23.90 |
| Brayden Sabel - Valders | 19:23.50 | 17:39.58 | 17:33.40 | 17:09.60 | 23.80 |
| Willow Mauel - Freedom | 19:17.23 | 17:55.00 | 17:32.00 | 17:08.90 | 23.10 |
| Nick Rudrud - Onalaska | 18:44.80 | 18:10.02 | 17:46.60 | 17:23.60 | 23.00 |
| Aidan Mullen - Kenosha St. Joseph | 20:51.40 | 19:03.81 | 18:20.20 | 17:57.34 | 22.86 |
| Arden Bergendahl - Kenosha Tremper | 19:40.12 | 19:32.70 | 18:32.60 | 18:09.80 | 22.80 |
| Anthony Nelson - Glenwood City | 23:36.64 | 21:07.47 | 18:46.30 | 18:23.57 | 22.73 |
| Lucas Nicholson - Pewaukee | 18:44.31 | 17:47.70 | 17:24.20 | 17:01.73 | 22.47 |
| Payton Triebold - Oconomowoc | 19:51.56 | 18:12.90 | 16:55.27 | 16:32.80 | 22.47 |
| Jaron Gage - Marathon | 18:35.00 | 18:46.50 | 18:01.60 | 17:39.20 | 22.40 |
| Julius Meyer - Melrose-Mindoro | 25:57.40 | 24:41.80 | 21:29.90 | 21:07.50 | 22.40 |
| Maximus Silkey - Oak Creek | 19:15.30 | 18:36.00 | 18:19.20 | 17:56.90 | 22.30 |
| Dawson Gronemus - West Salem | 19:37.50 | 17:45.90 | 17:18.40 | 16:56.10 | 22.30 |
| Gabriel Spude - Germantown | 21:26.40 | 20:54.50 | 19:17.80 | 18:55.60 | 22.20 |
| Ian Schroeder - Waunakee | 20:31.70 | 23:27.10 | 19:25.10 | 19:02.93 | 22.17 |
| Mason Kren - Germantown | 21:28.30 | 19:24.00 | 19:20.40 | 18:58.27 | 22.13 |
| Ian Hazen - Elk Mound | 17:19.80 | 17:02.90 | 16:40.14 | 16:18.02 | 22.12 |
| Nathan Jessup - Burlington | 33:29.60 | 38:17.92 | 28:40.41 | 28:18.32 | 22.09 |
| Joe Huber - DeForest | 20:52.85 | 19:15.00 | 17:32.01 | 17:10.12 | 21.89 |
| Ian Onesti - Roncalli | 25:54.94 | 25:56.00 | 22:47.80 | 22:26.63 | 21.17 |
| John Bartschat - Whitefish Bay | 19:12.00 | 18:45.75 | 17:26.90 | 17:05.80 | 21.10 |
| Matthew Poulos - Whitehall | 22:53.50 | 21:37.30 | 21:31.40 | 21:10.30 | 21.10 |
| George Sperka - Muskego | 18:35.97 | 17:07.50 | 17:17.40 | 16:56.50 | 20.90 |
| Logan Knospe - Merrill | 22:01.00 | 24:17.70 | 21:57.00 | 21:36.10 | 20.90 |
| Jackson Fogarty - Notre Dame Academy | 18:21.16 | 18:49.20 | 17:15.40 | 16:54.60 | 20.80 |
| Tucker Briggs - Superior | 21:55.80 | 25:41.40 | 20:22.30 | 20:01.50 | 20.80 |
| Graham Faulkner - Wausau East | 20:54.70 | 21:48.00 | 20:44.00 | 20:23.40 | 20.60 |
| Aiden Brink - Waterford Union | 21:35.20 | 20:47.91 | 22:14.60 | 21:54.00 | 20.60 |
| Jake Mason - Chippewa Falls | 19:36.90 | 18:24.20 | 17:59.50 | 17:39.30 | 20.20 |
| Jaden Ryan - Bloomer | 19:28.20 | 19:36.10 | 18:40.90 | 18:20.76 | 20.14 |
| Connor Gabay - Phillips | 19:45.30 | 18:50.50 | 17:38.10 | 17:18.05 | 20.05 |
| Zach Laier - Hayward | 24:55.70 | 21:29.90 | 18:28.49 | 18:08.54 | 19.95 |
| Aaron Schimke - Kaukauna | 17:04.70 | 16:23.86 | 15:48.70 | 15:28.80 | 19.90 |
| Nick Gonnering - St. Ambrose Academy | 19:50.50 | 19:40.00 | 18:04.70 | 17:44.90 | 19.80 |
| Bennett Doebler - Badger | 23:22.20 | 20:54.64 | 19:05.50 | 18:45.80 | 19.70 |
| Mason Hoopman - Cedar Grove - Belgium | 17:58.20 | 17:22.00 | 17:11.70 | 16:52.10 | 19.60 |
| Carter Roels - Viroqua | 26:50.00 | 27:41.20 | 22:31.60 | 22:12.00 | 19.60 |
| Owen Laufenberg - Iowa-Grant | 19:22.90 | 18:04.75 | 18:09.40 | 17:50.20 | 19.20 |
| Sam Bowden - Pittsville | 20:42.00 | 18:23.10 | 18:08.20 | 17:49.12 | 19.08 |
| Colman Lenci - Marquette | 17:50.10 | 16:49.80 | 16:20.00 | 16:01.10 | 18.90 |
| Zachariah Vance - Oconomowoc | 17:01.70 | 16:04.60 | 15:41.70 | 15:22.90 | 18.80 |
| Drew Benson - Wayland Academy | 17:51.50 | 18:55.42 | 17:39.79 | 17:21.01 | 18.78 |
| Joshua Anhalt - Kettle Moraine Lutheran | 18:14.00 | 18:28.10 | 17:58.00 | 17:39.30 | 18.70 |
| Ryan Waller - Prairie du Chien | 23:14.50 | 22:22.25 | 20:35.30 | 20:17.10 | 18.20 |
| Blake Lobner - Assumption | 19:04.00 | 19:11.00 | 18:32.00 | 18:14.00 | 18.00 |
| Addison Morehouse - Westosha Central | 22:41.80 | 19:19.99 | 19:50.50 | 19:32.50 | 18.00 |
| Mason Aide - Iowa-Grant | 18:00.40 | 16:51.01 | 16:57.10 | 16:39.20 | 17.90 |
| Maxwell Voigt - Oconomowoc | 23:00.75 | 20:41.40 | 20:15.80 | 19:58.00 | 17.80 |
| Adam Troyanek - Holmen | 20:29.00 | 20:30.40 | 21:40.10 | 21:22.53 | 17.57 |
| Blake Roberts - Mukwonago | 17:39.50 | 17:13.84 | 17:55.90 | 17:38.40 | 17.50 |
| Francisco Rosas-Sarmiento - Nicolet | 18:27.50 | 18:22.70 | 17:30.90 | 17:13.50 | 17.40 |
| Eli Nafziger - Three Lakes | 20:26.90 | 21:52.40 | 21:50.80 | 21:33.40 | 17.40 |
| Thomas Binns - Hartford Union | 19:10.80 | 17:46.18 | 17:16.80 | 16:59.60 | 17.20 |
| Dylan Comins - Lena/Saint Thomas Academy | 20:20.00 | 19:57.20 | 19:36.72 | 19:19.60 | 17.12 |
| Noah Ignasiak - Union Grove | 20:13.70 | 19:14.01 | 19:36.47 | 19:19.50 | 16.97 |
| Hale Madsen - Cochrane-Fountain City | 19:22.00 | 19:20.30 | 18:31.50 | 18:14.60 | 16.90 |
| Kobe Chapman - Germantown | 17:53.30 | 17:13.00 | 17:31.30 | 17:14.51 | 16.79 |
| Reid Clement - Seymour | 18:07.00 | 18:39.60 | 17:53.20 | 17:36.90 | 16.30 |
| Wesley Pronschinske - Cochrane-Fountain City | 17:02.50 | 16:48.04 | 16:15.40 | 15:59.40 | 16.00 |
| Benjamin Bremer - Franklin | 21:21.22 | 20:50.30 | 20:04.80 | 19:48.90 | 15.90 |
| Danny Torresin - Kenosha Bradford | 18:53.30 | 19:24.00 | 18:44.70 | 18:28.90 | 15.80 |
| Noah Kramer - Hortonville | 20:40.70 | 19:53.00 | 19:03.60 | 18:48.00 | 15.60 |
| Graham Dykstra - Horicon | 28:47.77 | 25:25.10 | 21:30.42 | 21:15.13 | 15.29 |
| Isaac Guttormson - West Bend West | 24:19.00 | 22:08.30 | 19:30.40 | 19:15.35 | 15.05 |
| Justin Buschke - Manawa | 19:49.59 | 19:40.18 | 20:39.93 | 20:24.90 | 15.03 |
| Joey Knopp - Germantown | 19:01.60 | 18:50.10 | 17:54.40 | 17:39.40 | 15.00 |
| Wyatt Miller - Berlin | 18:04.09 | 17:40.94 | 17:04.19 | 16:49.50 | 14.69 |
| Conner Cernohous - River Falls | 19:59.30 | 19:20.00 | 18:35.80 | 18:21.30 | 14.50 |
| Zach Yaktin - De Soto | 24:21.50 | 21:58.90 | 19:46.80 | 19:32.30 | 14.50 |
| Aiden Schiferl - Elk Mound | 18:12.66 | 17:45.91 | 17:09.49 | 16:55.03 | 14.46 |
| Caleb Bruley - Wilmot Union | 20:33.00 | 19:06.24 | 18:52.39 | 18:38.00 | 14.39 |
| Nathan Stewart - Brookfield Central | 22:39.30 | 21:12.30 | 20:21.10 | 20:06.73 | 14.37 |
| Lucas Sternberg - Westosha Central | 20:04.60 | 17:57.83 | 17:25.13 | 17:10.88 | 14.25 |
| Carson Schwartz - Plymouth | 25:23.26 | 24:55.80 | 23:31.00 | 23:16.80 | 14.20 |
| Crete Slattery - Badger | 22:56.00 | 21:04.58 | 21:23.75 | 21:09.70 | 14.05 |
| Kal Kramp - Badger | 20:41.20 | 18:46.81 | 18:54.88 | 18:40.90 | 13.98 |
| Brady Lewis - Cedarburg | 19:12.10 | 17:30.44 | 17:08.50 | 16:54.70 | 13.80 |
| Jay Dregney - Sauk Prairie | 19:14.27 | 18:25.65 | 18:19.09 | 18:05.80 | 13.29 |
| Ryan Hoffman - Hilbert | 20:50.40 | 18:31.20 | 19:47.06 | 19:33.77 | 13.29 |
| Parker Sloma - Howards Grove | 20:28.80 | 19:45.23 | 20:25.80 | 20:12.58 | 13.22 |
| Nate Gindt - North Fond du Lac Horace Mann | 18:28.10 | 18:50.70 | 17:52.60 | 17:39.44 | 13.16 |
| Isaiah Moss - Menominee Indian | 17:55.00 | 18:52.10 | 19:11.20 | 18:58.08 | 13.12 |
| Riley Huss - Little Chute | 17:54.23 | 16:10.00 | 16:22.41 | 16:09.31 | 13.10 |
| William Frohling - Shorewood | 16:56.31 | 17:01.50 | 16:36.17 | 16:23.08 | 13.09 |
| Landon Nuthals - West De Pere | 18:50.00 | 18:07.90 | 17:49.00 | 17:36.00 | 13.00 |
| Emmett Jones - Arrowhead | 20:08.40 | 19:46.21 | 18:30.70 | 18:17.77 | 12.93 |
| Jake Feiter - West Bend West | 21:08.50 | 21:57.80 | 22:30.30 | 22:17.75 | 12.55 |
| Daniel Yesipovich - Baraboo | 18:22.80 | 17:10.50 | 17:31.59 | 17:19.30 | 12.29 |
| Jaden Cole - Portage | 19:31.09 | 18:47.27 | 18:59.00 | 18:47.00 | 12.00 |
| Owen Siebert - Kimberly | 18:49.00 | 17:57.30 | 17:50.10 | 17:38.20 | 11.90 |
| Ian Bruch - Muskego | 20:37.27 | 18:32.41 | 17:34.70 | 17:22.80 | 11.90 |
| Thomas Jungwirth - Mukwonago | 19:28.21 | 19:38.40 | 19:37.57 | 19:25.70 | 11.87 |
| Mitchell Swagel - Kewaunee | 24:07.49 | 24:38.00 | 21:09.10 | 20:57.32 | 11.78 |
| Nathan Wolf - Athens | 19:12.00 | 17:55.20 | 17:54.80 | 17:43.10 | 11.70 |
| Kyle Ketterhagen - Racine Park | 24:02.65 | 22:30.50 | 21:15.46 | 21:03.90 | 11.56 |
| Colin Wellnitz - Wisconsin Rapids Lincoln | 18:12.00 | 17:47.00 | 17:11.00 | 16:59.60 | 11.40 |
| Talon Gamez - Waukesha West | 18:43.45 | 18:08.33 | 17:10.00 | 16:58.64 | 11.36 |
| Derek Scheiderer - Marathon | 21:13.50 | 20:56.80 | 21:40.20 | 21:28.90 | 11.30 |
| Braxton Smith - Colby/Abbotsford | 23:49.60 | 21:20.00 | 21:55.70 | 21:44.40 | 11.30 |
| Matt Chapel - West Bend East | 25:02.60 | 24:42.40 | 19:50.20 | 19:39.03 | 11.17 |
| Andrew Hartzell - West Bend West | 18:22.70 | 18:08.40 | 17:44.50 | 17:33.70 | 10.80 |
| Jack Ziegler - Nicolet | 19:14.30 | 17:59.50 | 17:48.40 | 17:37.80 | 10.60 |
| Cooper Wood - Marquette | 19:34.00 | 18:34.70 | 18:20.82 | 18:10.70 | 10.12 |
| Mason Willkomm - West Bend West | 20:23.10 | 19:02.40 | 17:40.40 | 17:30.30 | 10.10 |
| Dylan Uitto - Ashland | 18:55.10 | 20:39.10 | 18:17.03 | 18:07.10 | 9.93 |
| Jack Hahm - Luther | 18:56.80 | 18:30.70 | 18:32.10 | 18:22.30 | 9.80 |
| Parker Hahn - Menomonie | 24:06.88 | 22:10.60 | 21:09.90 | 21:00.20 | 9.70 |
| Michael Wawrzyn - Kettle Moraine | 17:56.89 | 17:45.60 | 16:49.20 | 16:40.30 | 8.90 |
| Abiah Radtke - DASH | 19:34.20 | 19:16.46 | 18:51.00 | 18:42.68 | 8.32 |
| Harry Devine - Viroqua | 20:39.30 | 23:01.60 | 21:04.50 | 20:56.30 | 8.20 |
| Ridge Toay - Pecatonica/Argyle | 21:38.80 | 18:34.51 | 17:24.20 | 17:16.30 | 7.90 |
| Peter Kephart - Northwestern | 22:15.80 | 19:52.90 | 19:30.80 | 19:23.00 | 7.80 |
| Ian Kalin - Northwestern | 19:58.90 | 18:50.40 | 17:45.99 | 17:38.59 | 7.40 |
| Logan Dockendorf - Amery | 18:02.40 | 17:17.90 | 17:09.30 | 17:02.04 | 7.26 |
| Peter Schneider - New Berlin Eisenhower | 22:49.40 | 24:44.95 | 20:55.20 | 20:48.30 | 6.90 |
| William LaCroix - Sussex Hamilton | 17:27.50 | 17:57.69 | 17:38.90 | 17:32.20 | 6.70 |
| Gabe Havel - Luxemburg-Casco | 19:18.90 | 18:34.50 | 16:59.90 | 16:53.30 | 6.60 |
| Ethan Enslen - Wisconsin Lutheran | 20:30.83 | 20:11.10 | 18:28.90 | 18:22.40 | 6.50 |
| Trenton Palmer - Shell Lake Middle School | 23:05.70 | 24:51.90 | 22:32.10 | 22:26.00 | 6.10 |
| Jacob Alejandro - Wisconsin Lutheran | 18:56.84 | 18:15.00 | 16:43.10 | 16:37.19 | 5.91 |
| Kail Koeper - St. Mary Catholic | 19:34.60 | 21:49.68 | 19:46.34 | 19:40.58 | 5.76 |
| Hudsen Smith - River Falls | 19:58.40 | 19:23.39 | 18:36.50 | 18:31.00 | 5.50 |
| Trae Schaefer - Elk Mound | 18:17.98 | 17:55.96 | 17:53.72 | 17:48.32 | 5.40 |
| Joseph Shaver - Portage | 20:46.10 | 19:13.79 | 17:55.66 | 17:50.35 | 5.31 |
| Eric Rannow - Racine Park | 22:38.73 | 20:33.70 | 19:23.52 | 19:18.90 | 4.62 |
| Gabe Mietkowski - Grafton | 18:35.80 | 17:58.31 | 17:46.66 | 17:42.34 | 4.32 |
| Aaron Zuleta - Kenosha Tremper | 20:59.80 | 20:24.00 | 18:17.10 | 18:12.90 | 4.20 |
| Tyler Hausman - Tomah | 22:54.40 | 21:29.60 | 21:28.00 | 21:23.90 | 4.10 |
| Andrew Scheer - Columbus Catholic | 18:38.00 | 17:10.20 | 17:13.69 | 17:09.60 | 4.09 |
| Sam Manak - Elkhorn Area | 19:59.56 | 18:22.25 | 17:41.30 | 17:37.60 | 3.70 |
| Josh Kierzek - Muskego | 19:40.52 | 18:24.60 | 17:28.10 | 17:24.53 | 3.57 |
| Ryder Brown - Black River Falls | 21:37.00 | 20:21.00 | 20:33.85 | 20:30.30 | 3.55 |
| Andrew Nelson - Peshtigo | 17:20.20 | 18:30.59 | 17:22.60 | 17:19.47 | 3.13 |
| Nicholas Hall - Whitefish Bay | 18:41.50 | 17:25.23 | 17:27.40 | 17:24.40 | 3.00 |
| Will Duimstra - Arrowhead | 22:13.60 | 22:01.44 | 19:35.93 | 19:33.00 | 2.93 |
| Silas Ebeling - Wisconsin Lutheran | 16:56.24 | 16:20.50 | 15:59.70 | 15:57.00 | 2.70 |
| Jack Dorner - Neenah | 18:24.10 | 17:25.00 | 16:28.10 | 16:25.50 | 2.60 |
| Nolan Reese - Kickapoo/La Farge | 17:38.30 | 17:39.19 | 16:25.40 | 16:22.90 | 2.50 |
| Ethan Stewart - Ladysmith | 18:46.60 | 17:54.70 | 18:49.80 | 18:47.41 | 2.39 |
| Max Ingraham - Kimberly | 20:37.50 | 20:04.70 | 18:12.00 | 18:09.80 | 2.20 |
| Tyler Reuter - Seymour | 19:19.00 | 19:55.00 | 19:34.78 | 19:32.80 | 1.98 |
| Ian Schuetze - Merrill | 20:10.30 | 21:47.80 | 19:45.90 | 19:44.00 | 1.90 |
| Landon Starszak - Martin Luther | 21:26.80 | 20:46.80 | 20:18.60 | 20:16.72 | 1.88 |
| Adam Klippel - Wauwatosa East | 25:36.50 | 22:54.90 | 22:41.20 | 22:39.54 | 1.66 |
| Cole Pederson - New Auburn | 30:23.50 | 31:44.70 | 26:36.50 | 26:34.90 | 1.60 |
| Owen Bosley - Homestead | 16:21.40 | 16:06.62 | 15:07.30 | 15:05.90 | 1.40 |
| Nash Merklein - Hartford Union | 17:29.80 | 16:53.47 | 16:22.00 | 16:20.70 | 1.30 |
| Cody Fredrick - Oconomowoc | 18:42.11 | 18:09.11 | 17:41.70 | 17:41.00 | 0.70 |
| Ben Dohlby - Pewaukee | 17:10.08 | 16:41.53 | 15:50.30 | 15:49.79 | 0.51 |
| Peter Weir - Cadott | 19:11.06 | 17:25.86 | 17:08.70 | 17:08.50 | 0.20 |
| Keith Krull - University School of Milwaukee | 20:04.80 | 19:51.20 | 18:12.90 | 18:12.78 | 0.12 |
| | | | |
|