| Grade | Name | Time | Team | Rating |
| 12 | Hunter Jones | 14:37.0 | Benzie Central | 223.7 |
| 12 | Benne Anderson | 14:44.1 | GR_Ottawa Hills | 221.3 |
| 11 | Seth Norder | 14:45.4 | Grand Haven | 220.9 |
| 11 | Connell Alford | 15:01.8 | Chelsea | 215.4 |
| 12 | Lezawe Osterink | 15:05.0 | Wyoming Potter’s House | 214.3 |
| 11 | Evan Loughridge | 15:20.9 | Pinckney | 209.0 |
| 12 | Carter McCalister | 15:22.7 | Monroe Jefferson | 208.4 |
| 12 | Aiden Sullivan | 15:27.6 | FHE Ada Forest Hills Eastern | 206.8 |
| 11 | Brendan Herger | 15:31.6 | Northville | 205.5 |
| 11 | Jasper Cane | 15:38.0 | Kalamazoo Central | 203.3 |
| 12 | Jonah Hochstetler | 15:39.4 | TC West (Traverse City) | 202.9 |
| 12 | Nicolas Fry | 15:40.4 | Ann Arbor Skyline | 202.5 |
| 12 | Carson Vanderschaaf | 15:43.1 | Marquette | 201.6 |
| 12 | Aiden Smith | 15:43.3 | Adrian | 201.6 |
| 12 | Joe Muha | 15:44.0 | Traverse City Central | 201.3 |
| 12 | Samuel Jackson | 15:44.7 | Saline | 201.1 |
| 12 | Jordan Domany | 15:45.5 | Caledonia | 200.8 |
| 12 | Brady Matuszewski | 15:46.1 | Brighton | 200.6 |
| 11 | Tyler Langley | 15:46.7 | Brighton | 200.4 |
| 12 | Micah Bauer | 15:48.6 | Traverse City Central | 199.8 |
| 12 | Ethan Krampe | 15:48.9 | FHC GR_Forest Hills Central | 199.7 |
| 10 | Simon Triezenberg | 15:53.9 | GR_Christian | 198.0 |
| 11 | Braylon Petty | 15:54.4 | Adrian | 197.9 |
| 11 | Noah Selvaraj | 15:54.6 | Bay City Western | 197.8 |
| 11 | Truman Johnson | 15:56.2 | Saline | 197.3 |
| 12 | Zach Debeauclair | 15:56.5 | Pinckney | 197.2 |
| 12 | Clayton Ackley | 15:56.6 | Hart | 197.1 |
| 11 | Samuel Martini | 15:57.3 | Kent City | 196.9 |
| 12 | Owen Lawrence | 15:58.2 | East Kentwood | 196.6 |
| 11 | Brandon Anderson | 15:59.4 | Dexter | 196.2 |
| 12 | Colin Wesseldyk | 15:59.5 | Otsego | 196.2 |
| 11 | Ryan Brinker | 16:00.6 | East Grand Rapids | 195.8 |
| 12 | Caleb Branch | 16:00.7 | Muskegon Mona Shores | 195.8 |
| 11 | Liam Walters | 16:01.0 | GR_Ottawa Hills | 195.7 |
| 12 | Andre Richmond | 16:02.1 | Whitehall | 195.3 |
| 12 | Rogan Melling | 16:02.6 | Hanover-Horton | 195.1 |
| 11 | Ethan Sandula | 16:02.6 | Pinckney | 195.1 |
| 12 | Elijah Robinson | 16:02.9 | East Grand Rapids | 195.0 |
| 12 | Logan Post | 16:03.0 | Portage Northern | 195.0 |
| 12 | Carter Boullard | 16:03.0 | St. Clair | 195.0 |
| 11 | Luke Suliman | 16:03.6 | Ann Arbor Skyline | 194.8 |
| 9 | Jonah Workman | 16:04.0 | East Grand Rapids | 194.7 |
| 11 | Logan Begeman | 16:04.6 | Portage Central | 194.5 |
| 12 | Nathan Jenkins | 16:05.0 | Grandville Calvin Christian | 194.3 |
| 11 | Alex Thole | 16:05.7 | East Grand Rapids | 194.1 |
| 12 | Jason Whitton | 16:06.6 | Saline | 193.8 |
| 12 | Luke Morrison | 16:06.8 | Berrien Springs | 193.7 |
| 12 | Carter McIlroy | 16:07.1 | Whitehall | 193.6 |
| 12 | Brady Heron | 16:08.1 | Northville | 193.3 |
| 10 | Will Engbers | 16:08.2 | Holland Christian | 193.3 |
| 12 | Glen Davis | 16:08.8 | Port Huron Northern | 193.1 |
| 12 | Jaben Bakker | 16:09.3 | Hudsonville | 192.9 |
| 11 | Willem DeGood | 16:09.5 | TC West (Traverse City) | 192.8 |
| 12 | Bram Hartsuff | 16:10.0 | Chelsea | 192.7 |
| 12 | Wyatt Dean | 16:10.1 | Hart | 192.6 |
| 11 | Paul Moore | 16:10.1 | Pinckney | 192.6 |
| 12 | Brock Malaikal | 16:10.3 | Northville | 192.6 |
| 11 | Brad White | 16:10.9 | Clare | 192.4 |
| 12 | Zebedee Swager | 16:11.0 | Chelsea | 192.3 |
| 11 | Shane Izzard | 16:11.1 | Petoskey | 192.3 |
| 9 | Moises Salazar | 16:11.2 | Adrian | 192.3 |
| 10 | Ethan Powell | 16:11.6 | Northville | 192.1 |
| 12 | Owen Westerkamp | 16:14.1 | Big Rapids | 191.3 |
| 10 | Carter Livermore | 16:15.8 | Grandville | 190.7 |
| 11 | Peter Kuperus | 16:16.3 | GR_Christian | 190.6 |
| 12 | Colin Graham | 16:17.3 | Rockford | 190.2 |
| 11 | Mason Jett | 16:17.7 | Ann Arbor Skyline | 190.1 |
| 12 | Chase Holwerda | 16:17.9 | Zeeland West | 190.0 |
| 12 | William Winter | 16:18.0 | Parchment | 190.0 |
| 12 | Jake O’Neil | 16:18.9 | Remus Chippewa Hills | 189.7 |
| 12 | Logan Swiney | 16:19.0 | Wyoming Potter’s House | 189.7 |
| 11 | Jaden Barnes | 16:19.9 | Bloomingdale | 189.4 |
| 12 | Ben Hunter | 16:20.0 | Portage Central | 189.3 |
| 11 | Zack Truszkowski | 16:20.0 | Traverse City Central | 189.3 |
| 11 | Simon VanderVlucht | 16:20.7 | Monroe St. Mary CC | 189.1 |
| 11 | Eric Overdier | 16:20.8 | Ann Arbor Pioneer | 189.1 |
| 12 | Luke Butler | 16:21.3 | Monroe | 188.9 |
| 11 | Jackson Rodriguez | 16:21.3 | Wyoming Potter’s House | 188.9 |
| 12 | Austin Brown | 16:21.4 | Hanover-Horton | 188.9 |
| 11 | Nolan Nixon | 16:21.6 | Cadillac | 188.8 |
| 10 | Isaac Tanis | 16:22.3 | East Kentwood | 188.6 |
| 12 | Brandon Latta | 16:22.9 | Northville | 188.4 |
| 12 | Espen Wood | 16:23.7 | Cedar Springs | 188.1 |
| 12 | Caleb Boes | 16:24.8 | GR_South Christian | 187.7 |
| 11 | Boden Genovese | 16:25.3 | Coloma | 187.6 |
| 10 | Caleb Wesseldyk | 16:26.6 | Otsego | 187.1 |
| 12 | Joshua Gormley | 16:26.7 | Portage Central | 187.1 |
| 10 | Evan Nickoles | 16:27.1 | East Kentwood | 187.0 |
| 12 | Colin Vanderschaaf | 16:27.5 | Marquette | 186.8 |
| 11 | Brendan Hoving | 16:28.3 | FHE Ada Forest Hills Eastern | 186.6 |
| 12 | Nick Spruce | 16:28.6 | Chelsea | 186.5 |
| 11 | Blake Ferguson | 16:28.8 | Yale | 186.4 |
| 12 | Owen Ackerman | 16:29.0 | Dexter | 186.3 |
| 11 | Dylan Clark | 16:29.4 | GR_Christian | 186.2 |
| 12 | Caleb Smith | 16:29.5 | Zeeland West | 186.2 |
| 10 | Mason Lucas | 16:29.8 | Jenison | 186.1 |
| 12 | Pol Molins | 16:31.2 | Benzie Central | 185.6 |
| 11 | Parker Ludwig | 16:31.2 | FHC GR_Forest Hills Central | 185.6 |
| 12 | Andre Soisson | 16:31.5 | Kalamazoo Central | 185.5 |
| 11 | Liam Hinman | 16:33.3 | FHE Ada Forest Hills Eastern | 184.9 |
| 11 | Drew Moore | 16:34.1 | Grayling | 184.6 |
| 10 | Leo Swager | 16:34.3 | Chelsea | 184.6 |
| 12 | Jack DeVries | 16:36.5 | GR_West Michigan Aviation | 183.8 |
| 12 | Will Vanderbor | 16:36.8 | Paw Paw | 183.7 |
| 11 | Vincent Peterson Sand | 16:37.0 | Ann Arbor Pioneer | 183.7 |
| 10 | Keegan Hoekstra | 16:37.1 | GR_Christian | 183.6 |
| 11 | Joe Waalkes | 16:37.3 | GR_Christian | 183.6 |
| 12 | David Whitaker | 16:37.3 | Northville | 183.6 |
| 11 | Jackson Dell | 16:37.5 | Chelsea | 183.5 |
| 12 | Michael Paoletti | 16:37.5 | Port Huron Northern | 183.5 |
| 12 | Logan Vining | 16:37.7 | Grand Haven | 183.4 |
| 11 | Nick Cabrera | 16:38.5 | Portage Central | 183.2 |
| 12 | Gavin Wiersma | 16:38.5 | Zeeland East | 183.2 |
| 12 | Blake Elliot | 16:39.3 | Caledonia | 182.9 |
| 12 | Thomas Kerber | 16:39.4 | Ann Arbor Pioneer | 182.9 |
| 12 | Logan Weis | 16:39.7 | Centreville | 182.8 |
| 12 | Adrian Castillo | 16:39.7 | Holland | 182.8 |
| 12 | Andrew McNally | 16:40.0 | Saline | 182.7 |
| 11 | Cooper Jacobsen | 16:40.2 | FHE Ada Forest Hills Eastern | 182.6 |
| 11 | Aiden Kruger | 16:40.5 | Niles | 182.5 |
| 10 | Carson Berko | 16:40.9 | Grand Haven | 182.4 |
| 12 | Pierce Bentley | 16:40.9 | Otsego | 182.4 |
| 11 | Sean Pettis | 16:41.0 | Fremont | 182.3 |
| 12 | Charles Lewis | 16:41.6 | Rockford | 182.1 |
| 10 | Sawyer McCarthy | 16:41.8 | FHC GR_Forest Hills Central | 182.1 |
| 12 | Cameron Pierce | 16:42.5 | Leslie | 181.8 |
| 9 | Kenny Sheffer | 16:42.7 | Otsego | 181.8 |
| 11 | Nicholas Yaquinto | 16:42.9 | Northville | 181.7 |
| 12 | Gavin Voetberg | 16:43.1 | Portage Central | 181.6 |
| 12 | Dylan White | 16:43.2 | Brighton | 181.6 |
| 12 | Macartan Moore | 16:43.3 | Petoskey St. Michael | 181.6 |
| 12 | Adair Artis | 16:43.4 | Concord | 181.5 |
| 12 | Seth Ackley | 16:43.5 | Hart | 181.5 |
| 12 | Ben Schefka | 16:44.4 | Adrian | 181.2 |
| 12 | Wyatt McComb | 16:44.4 | Richland Gull Lake | 181.2 |
| 12 | Brayden Morris | 16:44.8 | Brighton | 181.1 |
| 12 | Josh Kerr | 16:45.0 | Traverse City St. Francis | 181.0 |
| 12 | Roman Cortina | 16:45.1 | Ann Arbor Pioneer | 181.0 |
| 11 | Thomas Holm | 16:45.3 | Hillsdale Academy | 180.9 |
| 12 | Alex Parker | 16:45.6 | FHE Ada Forest Hills Eastern | 180.8 |
| 10 | Josh Slocum | 16:47.5 | Traverse City St. Francis | 180.2 |
| 10 | Elijah Forbord | 16:47.8 | Brighton | 180.1 |
| 11 | Luke Campbell | 16:48.1 | Brighton | 180.0 |
| 12 | Ben Knuth | 16:48.5 | Big Rapids | 179.8 |
| 12 | Kyle Hoffner | 16:48.7 | Monroe | 179.8 |
| 12 | Brady Ketzenberger | 16:49.3 | Marquette | 179.6 |
| 12 | Jett Reimers | 16:50.2 | Traverse City Central | 179.3 |
| 12 | Christopher Van Lent | 16:50.7 | Ann Arbor Skyline | 179.1 |
| 10 | Aidan Brinks | 16:52.4 | Holland Christian | 178.5 |
| 12 | Zachary Maendel | 16:52.4 | Petoskey St. Michael | 178.5 |
| 11 | Giovanni Pardo-Keegan | 16:52.7 | Yale | 178.4 |
| 12 | Jonathan Miedema | 16:54.1 | Caledonia | 178.0 |
| 11 | Gabe Outman | 16:54.4 | Cadillac | 177.9 |
| 12 | Ethan Grevengoed | 16:54.6 | Spring Lake | 177.8 |
| 12 | Ramon Hernandez | 16:54.7 | Howard City-Tri-County | 177.8 |
| 11 | Davis Christy | 16:55.3 | East Grand Rapids | 177.6 |
| 10 | Sulley Zietlow | 16:55.5 | Three Rivers | 177.5 |
| 10 | Henry Dixon | 16:55.7 | FHE Ada Forest Hills Eastern | 177.4 |
| 11 | Hudson Kemperman | 16:56.3 | FHN GR_Forest Hills Northern | 177.2 |
| 11 | Noah Finton | 16:56.6 | Wyoming Potter’s House | 177.1 |
| 12 | Jake Eagling | 16:56.7 | Adrian | 177.1 |
| 12 | Jacob Wartenberg | 16:56.7 | Johannesburg-Lewiston | 177.1 |
| 9 | Robert Dodd | 16:57.0 | Zeeland West | 177.0 |
| 12 | Ben Richards | 16:57.1 | Pinckney | 177.0 |
| 10 | Isaiah Dinverno | 16:57.7 | Jackson Lumen Christi | 176.8 |
| 11 | Aaron Sterken | 16:58.0 | Ann Arbor Pioneer | 176.7 |
| 10 | Noah Jarvis | 16:58.3 | Berrien Springs | 176.6 |
| 12 | Skylar Werden | 16:58.4 | Frankfort | 176.5 |
| 10 | Max Stitt | 16:58.5 | Hart | 176.5 |
| 9 | Andrew Wright | 16:58.5 | Kalamazoo Central | 176.5 |
| 11 | Alex Durocher | 16:58.9 | Traverse City Central | 176.4 |
| 11 | Jack DeKruyter | 16:59.4 | Zeeland West | 176.2 |
| 12 | Ethan Glick | 16:59.5 | Constantine | 176.2 |
| 11 | Lucas Ruffing | 16:59.5 | Spring Lake | 176.2 |
| 12 | Nick Riemersma | 17:00.6 | Zeeland East | 175.8 |
| 12 | Logan Cooper | 17:00.9 | Potterville | 175.7 |
| 9 | Aron Gal | 17:01.3 | Grand Haven | 175.6 |
| 12 | Shane Pitcher | 17:01.3 | Saline | 175.6 |
| 11 | Shay White | 17:01.5 | St. Joseph | 175.5 |
| 11 | Bruno Cabrera | 17:01.6 | Portage Central | 175.5 |
| 12 | Bryce Soisson | 17:01.9 | Kalamazoo Central | 175.4 |
| 12 | Jacob Rottier | 17:02.1 | Hudsonville | 175.3 |
| 12 | Brayden Humes | 17:02.3 | Milan | 175.2 |
| 11 | Bode Cooper | 17:02.6 | Brighton | 175.1 |
| 10 | Tyler Brock | 17:02.7 | Brighton | 175.1 |
| 11 | Gannon Shore | 17:02.9 | Jackson Lumen Christi | 175.0 |
| 11 | Brodie Delamater | 17:03.6 | Grant | 174.8 |
| 10 | Nolan Longuski | 17:03.8 | Shepherd | 174.7 |
| 12 | Elijah Routson | 17:04.0 | Saline | 174.7 |
| 12 | Connor Wooley | 17:04.1 | Holland West Ottawa | 174.6 |
| 9 | Ronnie Silveira | 17:05.0 | Allendale | 174.3 |
| 10 | Levi Kamps | 17:05.8 | GR_Covenant Christian | 174.1 |
| 9 | Lynus Cadarette | 17:05.8 | Petoskey St. Michael | 174.1 |
| 11 | Abrar Hossen | 17:06.5 | Portage Central | 173.8 |
| 10 | Skye Smith | 17:06.9 | Vicksburg | 173.7 |
| 12 | Stewart Berryhill | 17:07.1 | Saline | 173.6 |
| 11 | Liam Bredeweg | 17:07.8 | Ann Arbor Pioneer | 173.4 |
| 10 | Peyton Ruel | 17:07.8 | Muskegon Oakridge | 173.4 |
| 11 | Carson Hauch | 17:07.8 | Zeeland West | 173.4 |
| 12 | Isaac Bogard | 17:08.8 | Kalamazoo Christian | 173.1 |
| 12 | Mathieu Northuis | 17:09.0 | Portage Central | 173.0 |
| 12 | Andrew Grier | 17:09.3 | Ann Arbor Pioneer | 172.9 |
| 11 | Tucker Krumm | 17:09.3 | Traverse City St. Francis | 172.9 |
| 12 | Davis Head | 17:09.4 | East Grand Rapids | 172.9 |
| 11 | Dylan Distelrath | 17:09.8 | St. Clair | 172.7 |
| 11 | Blake Fox | 17:10.0 | Johannesburg-Lewiston | 172.7 |
| 12 | Nathan Golding | 17:10.0 | Zeeland West | 172.7 |
| 10 | Joseph Spada | 17:10.4 | Kalamazoo Central | 172.5 |
| 11 | Tommy Farley | 17:10.4 | Petoskey | 172.5 |
| 9 | Dylan Duguay | 17:10.6 | Kalamazoo Loy Norrix | 172.5 |
| 9 | Peter Argeropoulos | 17:10.6 | Marquette | 172.5 |
| 9 | Brennan Larusso | 17:10.7 | Saline | 172.4 |
| 11 | Roman Smith | 17:11.0 | Grand Haven | 172.3 |
| 9 | Beckett Boos | 17:11.2 | Chelsea | 172.3 |
| 11 | Sawyer Stoneman | 17:11.3 | Breckenridge | 172.2 |
| 12 | Timmy Peterson | 17:11.7 | Portage Northern | 172.1 |
| 12 | Henrik Quist | 17:11.8 | Fremont | 172.1 |
| 12 | John Sanderson | 17:12.2 | Bridgman | 171.9 |
| 9 | Jack Edison | 17:12.4 | East Grand Rapids | 171.9 |
| 11 | Will Banfield | 17:12.8 | FHC GR_Forest Hills Central | 171.7 |
| 9 | Spencer Wetherbee | 17:12.9 | Saline | 171.7 |
| 10 | Mason Sinke | 17:13.2 | Bear Lake-Onekama | 171.6 |
| 10 | Kort Thompson | 17:13.4 | Caledonia | 171.5 |
| 10 | Brady Millington | 17:13.6 | Brighton | 171.5 |
| 11 | Jack Lindwall | 17:13.6 | Petoskey | 171.5 |
| 12 | Austin Williford | 17:13.7 | Paw Paw | 171.4 |
| 11 | John Christensen | 17:14.1 | Fremont | 171.3 |
| 11 | Sam Gibson | 17:14.5 | Dexter | 171.2 |
| 9 | Ian Morgan | 17:14.5 | Okemos | 171.2 |
| 10 | Chase Thomsen | 17:14.9 | Marquette | 171.0 |
| 10 | Noah Schuette | 17:14.9 | Rockford | 171.0 |
| 12 | Tucker Radgens | 17:15.0 | Vicksburg | 171.0 |
| 9 | Ethan Shoffner | 17:15.2 | Cedar Springs | 170.9 |
| 11 | Gavin VanKampen | 17:15.2 | Jonesville | 170.9 |
| 11 | Miles Killips | 17:15.5 | Bay City Western | 170.8 |
| 10 | Cannon Crowe | 17:15.9 | Portage Central | 170.7 |
| 10 | Andrew Mabry | 17:16.1 | Bridgman | 170.6 |
| 12 | Caleb Bitely | 17:16.2 | Hart | 170.6 |
| 12 | David Harris | 17:16.2 | St. Clair | 170.6 |
| 9 | Edison Lopeman | 17:16.5 | Parma Western | 170.5 |
| 12 | Dominik White | 17:16.5 | Saline | 170.5 |
| 12 | Conor Sullivan | 17:16.6 | Portage Northern | 170.5 |
| 11 | Lucas Van Meter | 17:16.9 | Middleville Thornapple-Kellogg | 170.4 |
| 10 | Carter Sherman | 17:17.0 | Fremont | 170.3 |
| 9 | Aden Ashworth | 17:17.4 | Allendale | 170.2 |
| 11 | Kaiden Morey | 17:17.4 | Traverse City Central | 170.2 |
| 9 | Owen Gifford | 17:17.6 | Portage Central | 170.1 |
| 9 | Landon Rogers | 17:17.7 | Three Oaks River Valley | 170.1 |
| 12 | Dade Allen | 17:17.9 | Benzie Central | 170.0 |
| 10 | Aidan Goodwin | 17:18.3 | Otsego | 169.9 |
| 10 | Aeson Gonzalez | 17:18.4 | Portage Northern | 169.9 |
| 10 | Brandon Simmons | 17:18.5 | Hastings | 169.8 |
| 10 | Isaac Edgington | 17:18.5 | Holland Black River | 169.8 |
| 10 | Jacob Sanford | 17:18.8 | FHC GR_Forest Hills Central | 169.7 |
| 10 | Parker Woodwyk | 17:18.8 | Spring Lake | 169.7 |
| 12 | Ryan McMahon | 17:19.0 | East Grand Rapids | 169.7 |
| 12 | Chase Klapthor | 17:19.2 | Ann Arbor Pioneer | 169.6 |
| 12 | Nate Oosterhouse | 17:19.4 | Hudsonville Unity Christian | 169.5 |
| 12 | Joe Edgemon | 17:19.5 | St. Clair | 169.5 |
| 10 | Stewart Waters | 17:19.6 | Whitehall | 169.5 |
| 12 | Matt LaFreniere | 17:19.7 | Port Huron Northern | 169.4 |
| 12 | Daniel Ebel | 17:19.8 | Bay City Western | 169.4 |
| 10 | Landon Boulis | 17:20.3 | Hanover-Horton | 169.2 |
| 10 | Caden Guffey | 17:20.5 | Zeeland East | 169.2 |
| 9 | Chase Lowery | 17:20.8 | Fremont | 169.1 |
| 9 | Grayson Rorick | 17:21.2 | Hillsdale Academy | 168.9 |
| 10 | Lawrence Cubitt | 17:21.4 | Traverse City Central | 168.9 |
| 10 | Vincent Pollock | 17:21.5 | Fruitport | 168.8 |
| 10 | Parker Fettig | 17:21.7 | Petoskey | 168.8 |
| 12 | Peter Vitale | 17:23.0 | St. Clair | 168.3 |
| 10 | Andrew Wangler | 17:23.2 | Jenison | 168.3 |
| 10 | Nathan Beemer | 17:23.6 | Okemos | 168.1 |
| 11 | Nathan Moskal | 17:23.7 | Brighton | 168.1 |
| 11 | Adam Townsend | 17:23.7 | Frankfort | 168.1 |
| 12 | Alex Hoffman | 17:24.3 | Dexter | 167.9 |
| 12 | Chase Snell | 17:24.5 | Grand Traverse Academy | 167.8 |
| 10 | Owen Saylor | 17:25.0 | Dowagiac Union | 167.7 |
| 11 | Cullen Papin | 17:25.2 | Marquette | 167.6 |
| 11 | Andrew Klaus | 17:25.3 | Clare | 167.6 |
| 11 | Nate Fahey | 17:25.5 | Rockford | 167.5 |
| 12 | Sam Majoor | 17:25.7 | Rockford | 167.4 |
| 11 | James Kraeg | 17:26.2 | Marquette | 167.3 |
| 11 | Gurshaan Sidhu | 17:26.2 | Okemos | 167.3 |
| 12 | Ethan Smith | 17:26.4 | Jenison | 167.2 |
| 11 | Sam King | 17:27.1 | TC West (Traverse City) | 167.0 |
| 10 | Matthew Schwartz | 17:27.4 | Jenison | 166.9 |
| 10 | Mason Morrell | 17:28.3 | Caledonia | 166.6 |
| 11 | Evan Shepherd | 17:28.4 | Hanover-Horton | 166.5 |
| 12 | Nathan Milliman | 17:28.5 | Ann Arbor Pioneer | 166.5 |
| 11 | Micah Nagel | 17:28.6 | Caledonia | 166.5 |
| 12 | Thomas Lepper | 17:28.6 | Pinckney | 166.5 |
| 9 | Jackson Lam | 17:28.9 | Kalamazoo Loy Norrix | 166.4 |
| 11 | Ezra Hagedorn | 17:29.1 | Wyoming Potter’s House | 166.3 |
| 10 | Caleb Snyder | 17:29.9 | Dexter | 166.0 |
| 12 | Johnathon McMullin | 17:30.0 | Fruitport | 166.0 |
| 11 | Matthew Canales | 17:31.0 | Adrian | 165.7 |
| 11 | Cole Visser | 17:31.0 | Jenison | 165.7 |
| 12 | Gabe Verlin | 17:31.7 | GR_South Christian | 165.4 |
| 10 | Jack Desantis | 17:32.2 | Brighton | 165.3 |
| 10 | Matthew Long | 17:32.3 | Portage Central | 165.2 |
| 10 | Trevor Timmer | 17:32.7 | FHC GR_Forest Hills Central | 165.1 |
| 12 | Oskar Wiedenhoeft | 17:32.8 | Kalamazoo Loy Norrix | 165.1 |
| 11 | Andrew Foshag | 17:32.8 | Monroe | 165.1 |
| 10 | Will Whitmore | 17:32.9 | Holland Christian | 165.0 |
| 9 | Ty Billings | 17:34.0 | Kalamazoo Central | 164.7 |
| 10 | Andrew Kaczmarczyk | 17:34.3 | Bay City Western | 164.6 |
| 12 | Hoyt Smith | 17:34.8 | Bay City Western | 164.4 |
| 9 | Charlie Gibson | 17:34.8 | Three Oaks River Valley | 164.4 |
| 10 | Ted Rutkofske | 17:34.8 | Yale | 164.4 |
| 12 | Sam Markle | 17:35.0 | Berrien Springs | 164.3 |
| 12 | Luke Gorgas | 17:35.0 | Saugatuck | 164.3 |
| 12 | Landon Wade | 17:35.3 | East Kentwood | 164.2 |
| 9 | Logan Westgate | 17:36.0 | Portage Central | 164.0 |
| 10 | Lewis Walter | 17:36.3 | Traverse City St. Francis | 163.9 |
| 9 | Zach Hassenzahl | 17:36.6 | Hanover-Horton | 163.8 |
| 9 | Gavin Markucki | 17:36.6 | Richland Gull Lake | 163.8 |
| 11 | Jason Van Dyken | 17:36.9 | Hudsonville | 163.7 |
| 10 | Reece Poole | 17:37.5 | Hillsdale Academy | 163.5 |
| 10 | Andrew Boeringa | 17:37.7 | Whitehall | 163.4 |
| 12 | Ethan Lubahn | 17:38.0 | Leslie | 163.3 |
| 9 | Quinn Davis | 17:38.1 | Ann Arbor Pioneer | 163.3 |
| 9 | Jack Sherwood | 17:38.2 | Buchanan | 163.3 |
| 9 | Beckett Crooks | 17:38.3 | Ann Arbor Pioneer | 163.2 |
| 10 | Olin Kasperowicz | 17:38.6 | Traverse City St. Francis | 163.1 |
| 12 | Tanner Guczwa | 17:38.7 | Spring Lake | 163.1 |
| 9 | Theo Sacks-Thomas | 17:38.9 | Ann Arbor Pioneer | 163.0 |
| 10 | Dante Pillot | 17:38.9 | Schoolcraft | 163.0 |
| 11 | Jaren Vogel | 17:39.0 | Kent City | 163.0 |
| 11 | Tyler Vining | 17:39.0 | Morley-Stanwood | 163.0 |
| 12 | Joe Stocchiero | 17:39.2 | Bloomingdale | 162.9 |
| 10 | Eli Johansen | 17:39.7 | St. Joseph | 162.8 |
| 9 | Luke Tibbe | 17:40.6 | GR_NorthPointe Christian | 162.5 |
| 11 | Riley Shults | 17:40.6 | Hastings | 162.5 |
| 11 | Dane Bailey | 17:40.8 | Edwardsburg | 162.4 |
| 12 | Roger Hernandez | 17:40.8 | Holland Black River | 162.4 |
| 10 | Brayden Rynsburger | 17:40.8 | Holland Christian | 162.4 |
| 10 | Seppi Camilli | 17:41.0 | Marquette | 162.3 |
| 11 | Luke Maher | 17:41.1 | Port Huron Northern | 162.3 |
| 10 | Jose Domecq | 17:41.3 | Leslie | 162.2 |
| 12 | Andrew Strong | 17:41.4 | Saline | 162.2 |
| 12 | Zachary Gowan | 17:41.5 | Three Rivers | 162.2 |
| 10 | Matthias Morse | 17:41.8 | Muskegon Western Mich. Christian | 162.1 |
| 12 | Gavin Towner | 17:41.9 | Petoskey | 162.0 |
| 10 | Logan Grills | 17:42.1 | Bay City Western | 162.0 |
| 11 | Gabe Sanborn | 17:42.3 | Ann Arbor Pioneer | 161.9 |
| 12 | Jackson Kulawiak | 17:42.4 | Buckley | 161.9 |
| 9 | Philip Chamberlain | 17:42.5 | FHN GR_Forest Hills Northern | 161.8 |
| 12 | Will Shults | 17:42.9 | Grandville | 161.7 |
| 11 | Nick Lubbers | 17:43.0 | GR_Covenant Christian | 161.7 |
| 11 | Aden Webber | 17:43.1 | Paw Paw | 161.6 |
| 11 | Gavin Sehy | 17:43.2 | Kalamazoo Hackett | 161.6 |
| 11 | Nic Porter | 17:43.3 | Clare | 161.6 |
| 10 | Holten Mulherin | 17:43.5 | Otsego | 161.5 |
| 12 | Nico Lopez | 17:43.5 | Shepherd | 161.5 |
| 11 | Maxx Adams | 17:43.6 | Monroe | 161.5 |
| 12 | Charlie Doan | 17:43.7 | Adrian | 161.4 |
| 10 | Dylan Pfeffer | 17:43.7 | Hudsonville | 161.4 |
| 12 | Easton Vander Zwaag | 17:44.1 | Hart | 161.3 |
| 12 | Drew Alexander | 17:44.1 | TC West (Traverse City) | 161.3 |
| 10 | Luke Dykstra | 17:44.2 | GR_Covenant Christian | 161.3 |
| 12 | Matt Dombrowski | 17:44.3 | Ann Arbor Pioneer | 161.2 |
| 12 | Connor Donahue | 17:44.6 | Traverse City St. Francis | 161.1 |
| 10 | Andrew Fugazzi | 17:44.7 | Okemos | 161.1 |
| 12 | Leo Port | 17:44.8 | Mattawan | 161.1 |
| 12 | Ashton Sears | 17:44.8 | Richland Gull Lake | 161.1 |
| 11 | Levi Moss | 17:45.0 | Caledonia | 161.0 |
| 10 | Jack Sequin | 17:45.1 | Bay City Western | 161.0 |
| 11 | Russell Vande Poel | 17:45.2 | Saugatuck | 160.9 |
| 12 | Will Fiesbeck | 17:45.4 | St. Joseph | 160.9 |
| 11 | David Fowler | 17:45.6 | Jonesville | 160.8 |
| 12 | Jack Zaske | 17:45.6 | Saline | 160.8 |
| 9 | Keagan Smith | 17:45.6 | Zeeland West | 160.8 |
| 9 | Landon Gerritsma | 17:45.8 | Holland Christian | 160.7 |
| 11 | Gavin Rykse | 17:45.8 | Howard City-Tri-County | 160.7 |
| 12 | Aidan Hale | 17:45.9 | Ann Arbor Skyline | 160.7 |
| 12 | Luke Foster | 17:46.1 | Monroe St. Mary CC | 160.6 |
| 11 | Grayson Lentner | 17:46.4 | Hudsonville | 160.5 |
| 12 | Isaac Waldron | 17:46.9 | Concord | 160.4 |
| 10 | Kilian Whalen | 17:47.1 | Allendale | 160.3 |
| 11 | Levi Bol | 17:47.1 | Fruitport | 160.3 |
| 12 | Mason Schimmel | 17:47.1 | GR_Covenant Christian | 160.3 |
| 12 | Ian Brown | 17:47.1 | Okemos | 160.3 |
| 12 | Luke Aldrich | 17:47.2 | Otsego | 160.3 |
| 11 | Danny Ewing | 17:47.3 | Kalamazoo Loy Norrix | 160.2 |
| 11 | Joshua Lindsay | 17:47.4 | Portage Northern | 160.2 |
| 10 | Ben Gross | 17:47.6 | Allendale | 160.1 |
| 12 | Jacob Mertes | 17:47.6 | Rockford | 160.1 |
| 11 | Joseph Till | 17:47.7 | Zeeland West | 160.1 |
| 11 | Kaden Forward | 17:48.1 | Bear Lake-Onekama | 160.0 |
| 12 | Joey Schwindt | 17:48.4 | Maple City Glen Lake | 159.9 |
| 12 | Evan Stacy | 17:48.4 | Portage Northern | 159.9 |
| 12 | Logan Ames | 17:48.5 | Gaylord | 159.8 |
| 9 | Samuel Ashby | 17:48.7 | Zeeland West | 159.8 |
| 10 | Kody Vis | 17:49.2 | Spring Lake | 159.6 |
| 10 | Ethan Gerlach | 17:49.3 | Holland West Ottawa | 159.6 |
| 12 | Blake Schroeder | 17:49.3 | Monroe Jefferson | 159.6 |
| 11 | Koen Lanker | 17:49.5 | Saline | 159.5 |
| 10 | Adam Slavens | 17:49.5 | Three Oaks River Valley | 159.5 |
| 12 | Ethan Kapolka | 17:49.6 | Chelsea | 159.5 |
| 10 | Parker Schramski | 17:49.6 | FHN GR_Forest Hills Northern | 159.5 |
| 11 | Acer Campbell | 17:50.0 | Yale | 159.3 |
| 11 | Chris Stein | 17:50.5 | Monroe | 159.2 |
| 12 | Rylan Teddy | 17:50.6 | Dexter | 159.1 |
| 10 | Korbyn Thornton | 17:50.6 | St. Clair | 159.1 |
| 11 | Isaac Perez | 17:51.1 | Three Rivers | 159.0 |
| 11 | Graeson Lawrence | 17:51.3 | Muskegon Western Mich. Christian | 158.9 |
| 11 | JJ Mahan | 17:51.4 | Cadillac | 158.9 |
| 9 | Simon Licata | 17:51.4 | Petoskey | 158.9 |
| 9 | Marek Butkiewicz | 17:51.8 | Kalamazoo Hackett | 158.7 |
| 9 | Connor Mangan | 17:52.0 | Brighton | 158.7 |
| 11 | Gavin Betten | 17:52.1 | Rockford | 158.6 |
| 9 | Jake Follett | 17:52.2 | Holland West Ottawa | 158.6 |
| 11 | Luke Ueland | 17:52.4 | FHE Ada Forest Hills Eastern | 158.5 |
| 12 | Landon Wissink | 17:52.5 | Saline | 158.5 |
| 10 | Riley Pattinson | 17:52.6 | Traverse City St. Francis | 158.5 |
| 10 | George Janson | 17:52.8 | East Grand Rapids | 158.4 |
| 10 | Carter Petzke | 17:52.9 | St. Joseph | 158.4 |
| 9 | Sean Siems | 17:53.5 | Kalamazoo Hackett | 158.2 |
| 12 | Josef Bromley | 17:53.8 | Hart | 158.1 |
| 10 | Sam Bodine | 17:53.8 | Portage Central | 158.1 |
| 11 | Max Vangrouw | 17:53.9 | Holland West Ottawa | 158.0 |
| 9 | Eli Velting | 17:54.2 | Caledonia | 157.9 |
| 11 | Matthew Schreiner | 17:54.2 | Otsego | 157.9 |
| 10 | Nathan Wilkinson | 17:54.6 | Okemos | 157.8 |
| 12 | Gavin Hancox | 17:54.7 | Gobles | 157.8 |
| 11 | Josh Hamilton | 17:54.8 | Brighton | 157.7 |
| 10 | Jaxon Lumbert | 17:54.9 | Howard City-Tri-County | 157.7 |
| 10 | Grady Bremer | 17:54.9 | Hudsonville Unity Christian | 157.7 |
| 9 | Jack Slotman | 17:55.0 | Hart | 157.7 |
| 12 | Samuel Allen | 17:55.0 | Kalamazoo Loy Norrix | 157.7 |
| 11 | Brayden Odell | 17:55.0 | Vicksburg | 157.7 |
| 10 | Tyler Outlaw | 17:55.1 | Brighton | 157.6 |
| 9 | Hayden Lafferty | 17:55.1 | Rockford | 157.6 |
| 10 | Maguire Johnson | 17:55.6 | Edwardsburg | 157.5 |
| 12 | Peter Lewis | 17:55.7 | Portage Central | 157.4 |
| 10 | Nathan Koches | 17:55.9 | Spring Lake | 157.4 |
| 12 | Kaden Jensen | 17:56.0 | Dexter | 157.3 |
| 10 | Jeremiah Witt | 17:56.1 | Johannesburg-Lewiston | 157.3 |
| 12 | Owen Cousins | 17:56.3 | Zeeland West | 157.2 |
| 10 | Garrett Smith | 17:56.4 | Hudsonville | 157.2 |
| 11 | Dylan Odenbach | 17:56.4 | Petoskey | 157.2 |
| 11 | Owen McLoughlin | 17:56.4 | St. Joseph Our Lady of the Lake Catholic | 157.2 |
| 11 | Pranit Koppolu | 17:56.8 | FHN GR_Forest Hills Northern | 157.1 |
| 12 | Brendon Tribu | 17:56.8 | Kalamazoo Loy Norrix | 157.1 |
| 11 | Levi Glynn | 17:56.9 | Fruitport | 157.0 |
| 12 | Anthony Lawlor | 17:57.1 | Caledonia | 157.0 |
| 12 | Karl Kepler | 17:57.1 | Grandville | 157.0 |
| 11 | Vinny Schweihofer | 17:57.1 | St. Clair | 157.0 |
| 9 | Ian McNeel | 17:57.2 | Shepherd | 156.9 |
| 10 | Alex Forman | 17:57.9 | East Kentwood | 156.7 |
| 10 | Jack Baltes | 17:58.1 | Jenison | 156.6 |
| 11 | Mytchal Morrison | 17:58.1 | Jonesville | 156.6 |
| 10 | Ryan Blankenship | 17:58.4 | Eau Claire | 156.5 |
| 10 | Ethan Buer | 17:58.6 | Caledonia | 156.5 |
| 12 | Tyler Nethercot | 17:59.3 | FHN GR_Forest Hills Northern | 156.2 |
| 12 | Ethan Raseman | 17:59.3 | Otsego | 156.2 |
| 11 | Liam Newton | 17:59.8 | Saline | 156.1 |
| 12 | Tommy Skendzel | 17:59.9 | Traverse City St. Francis | 156.0 |
| 11 | Maxwell Krausman | 18:00.1 | Rockford | 156.0 |
| 11 | Trevor Dornbos | 18:00.3 | Grandville Calvin Christian | 155.9 |
| 9 | Lukus Mendoza | 18:00.7 | Spring Lake | 155.8 |
| 11 | Alex Moyer | 18:00.7 | St. Joseph | 155.8 |
| 10 | Kyan Deam | 18:00.9 | Big Rapids | 155.7 |
| 12 | Judge Morgan | 18:01.1 | Traverse City St. Francis | 155.6 |
| 12 | Eli DeCook | 18:01.2 | Grandville | 155.6 |
| 11 | Matthew Stilson | 18:01.4 | Cadillac | 155.5 |
| 10 | William Rosales | 18:01.4 | Saline | 155.5 |
| 9 | Thad VanderLaan | 18:01.5 | GR_South Christian | 155.5 |
| 9 | Issac Romero | 18:01.6 | Fremont | 155.5 |
| 12 | Charlie Stormer | 18:02.0 | Saugatuck | 155.3 |
| 12 | Ian Becker | 18:02.3 | Bay City Western | 155.2 |
| 11 | Jonathan Koetje | 18:02.5 | GR_Christian | 155.2 |
| 9 | Noah Johnston | 18:02.5 | GR_West Michigan Aviation | 155.2 |
| 11 | Gurmaan Sidhu | 18:02.6 | Okemos | 155.1 |
| 9 | Liam McBeth | 18:03.1 | Buchanan | 155.0 |
| 12 | Liam Peterson | 18:03.2 | Rockford | 154.9 |
| 11 | Isaac Humm | 18:03.5 | Breckenridge | 154.8 |
| 12 | Austin Winkle | 18:03.5 | Jenison | 154.8 |
| 12 | Caleb DeVries | 18:03.6 | GR_South Christian | 154.8 |
| 12 | Gabriel Borne | 18:04.3 | St. Clair | 154.6 |
| 12 | Luke Martin | 18:04.9 | Hudsonville | 154.4 |
| 12 | Andrew Bajdek | 18:05.1 | GR_West Catholic | 154.3 |
| 12 | Kaden Kolarik | 18:05.3 | Kingsley | 154.2 |
| 9 | Myles Gesselman | 18:05.4 | East Kentwood | 154.2 |
| 10 | Logan Gehoski | 18:05.5 | Bay City Western | 154.2 |
| 10 | Zach Hartemink | 18:06.0 | GR_Christian | 154.0 |
| 12 | Nick Mitchell | 18:06.1 | Kalamazoo Christian | 154.0 |
| 10 | Austin Dalman | 18:06.3 | Big Rapids | 153.9 |
| 9 | Thomas DeJesus | 18:06.4 | Ann Arbor Pioneer | 153.9 |
| 11 | Samuel Pugh | 18:06.4 | Caledonia | 153.9 |
| 12 | Calvin Ruffini | 18:06.7 | FHN GR_Forest Hills Northern | 153.8 |
| 11 | Grayson Carpenter | 18:06.8 | Spring Lake | 153.7 |
| 12 | Caleb Diener | 18:07.0 | Hillsdale Academy | 153.7 |
| 10 | Alex Ebel | 18:07.4 | Bay City Western | 153.5 |
| 9 | Jacob Kuntz | 18:07.7 | Buchanan | 153.4 |
| 11 | Levi Benzing | 18:07.7 | Petoskey St. Michael | 153.4 |
| 9 | Max Foldvary | 18:08.2 | Monroe St. Mary CC | 153.3 |
| 9 | Tyler Baum | 18:08.7 | FHN GR_Forest Hills Northern | 153.1 |
| 10 | Caleb DenHartigh | 18:08.9 | Hudsonville Unity Christian | 153.0 |
| 11 | Aidan Kreps | 18:09.0 | Muskegon Mona Shores | 153.0 |
| 10 | Ethan Miller | 18:09.8 | Centreville | 152.7 |
| 11 | Ethan Umberger | 18:09.9 | Saline | 152.7 |
| 12 | Adrian Romero | 18:10.1 | Wyoming Lee | 152.6 |
| 9 | Jacob Nicely | 18:10.4 | Holland Christian | 152.5 |
| 9 | Nolan Korolden | 18:10.6 | Yale | 152.5 |
| 11 | Owen Brown | 18:10.8 | Hanover-Horton | 152.4 |
| 11 | Matthew Brownell | 18:10.8 | Remus Chippewa Hills | 152.4 |
| 12 | Soren Nielsen | 18:10.9 | Ann Arbor Skyline | 152.4 |
| 12 | Kam Rinker | 18:10.9 | Kalamazoo Christian | 152.4 |
| 10 | Cole Lowery | 18:11.2 | Fremont | 152.3 |
| 10 | Ethan Rimmer | 18:11.5 | Delton-Kellogg | 152.2 |
| 12 | Ben Kooistra | 18:11.5 | FHE Ada Forest Hills Eastern | 152.2 |
| 12 | Reece Ondersma | 18:11.5 | Jenison | 152.2 |
| 12 | Gavin Burt | 18:11.6 | Saline | 152.1 |
| 12 | Logan Hough | 18:11.9 | Grand Haven | 152.0 |
| 10 | Quinton Bell | 18:12.4 | Cedar Springs | 151.9 |
| 12 | Jonathan Clausing | 18:12.4 | Muskegon Western Mich. Christian | 151.9 |
| 11 | Blake Huitema | 18:12.5 | GR_West Michigan Aviation | 151.8 |
| 10 | Russell Vandermus | 18:12.6 | Petoskey St. Michael | 151.8 |
| 11 | Chace Laarman | 18:12.8 | Zeeland West | 151.7 |
| 9 | Chayse Ciborski | 18:13.0 | Bloomingdale | 151.7 |
| 10 | Robby Myler | 18:13.2 | Traverse City St. Francis | 151.6 |
| 9 | Sean Ryan | 18:13.4 | GR_Christian | 151.5 |
| 12 | Kai Chouinard | 18:13.5 | Marquette | 151.5 |
| 10 | Owen Read | 18:13.5 | Traverse City St. Francis | 151.5 |
| 12 | Drew White | 18:14.0 | Marquette | 151.3 |
| 12 | Eli Assaf | 18:14.6 | East Grand Rapids | 151.1 |
| 9 | Edward Mugisha | 18:14.6 | Wyoming Potter’s House | 151.1 |
| 11 | Ben Merkel | 18:14.9 | Monroe Jefferson | 151.0 |
| 11 | Josh Berryman | 18:14.9 | Portage Central | 151.0 |
| 12 | Elijah Klee | 18:15.3 | TC West (Traverse City) | 150.9 |
| 10 | Scott Smith | 18:15.4 | Dexter | 150.9 |
| 10 | Hayden Gould | 18:15.6 | Big Rapids | 150.8 |
| 11 | Luke Glasgow | 18:15.8 | Spring Lake | 150.7 |
| 11 | Britain Philip | 18:16.3 | Buchanan | 150.6 |
| 11 | Grant Koole | 18:16.7 | GR_Covenant Christian | 150.4 |
| 9 | Cody Bradley | 18:16.8 | Petoskey St. Michael | 150.4 |
| 9 | Finn Tauren | 18:16.9 | Richland Gull Lake | 150.4 |
| 10 | Jon Leith | 18:17.2 | Edwardsburg | 150.3 |
| 12 | Gary Springstead | 18:17.3 | Fremont | 150.2 |
| 11 | Brady Mayer | 18:17.4 | Port Huron Northern | 150.2 |
| 10 | Julian Linebaugh | 18:17.5 | Dexter | 150.2 |
| 10 | Robert Koscinski | 18:17.6 | Portage Northern | 150.1 |
| 10 | Zachery Childress | 18:17.7 | Jonesville | 150.1 |
| 11 | Will Parsekian | 18:17.7 | Muskegon Mona Shores | 150.1 |
| 11 | Harrison Kooyer | 18:17.8 | Holland | 150.1 |
| 9 | Joseph Sturtevant | 18:17.8 | TC West (Traverse City) | 150.1 |
| 9 | Karl Swager | 18:18.0 | Chelsea | 150.0 |
| 12 | Ian Mahoney | 18:18.2 | FHC GR_Forest Hills Central | 149.9 |
| 12 | Carson Lenzinger | 18:18.4 | Richland Gull Lake | 149.9 |
| 11 | Timothy Olson | 18:18.4 | Spring Lake | 149.9 |
| 9 | Grason Weber | 18:19.4 | Leslie | 149.5 |
| 10 | James VanderDussen | 18:19.5 | Kalamazoo Christian | 149.5 |
| 10 | David Potgeter | 18:19.9 | Caledonia | 149.4 |
| 11 | Dylan Walters | 18:19.9 | Zeeland East | 149.4 |
| 11 | Reuben Solmes | 18:20.2 | Hastings | 149.3 |
| 11 | Nic VanderKodde | 18:20.4 | Hudsonville | 149.2 |
| 11 | Austin York | 18:21.1 | Three Oaks River Valley | 149.0 |
| 10 | Nik Williams | 18:21.2 | GR_Ottawa Hills | 148.9 |
| 12 | Dalton Weber | 18:21.3 | Portage Northern | 148.9 |
| 12 | Nathan DeWitt | 18:21.4 | Holland Christian | 148.9 |
| 9 | Owen Fisher | 18:21.6 | Mattawan | 148.8 |
| 11 | Jonah Teed | 18:21.8 | Hastings | 148.7 |
| 12 | Corbin Devilbiss | 18:21.9 | East Grand Rapids | 148.7 |
| 12 | Shelby Hopkins | 18:22.3 | Morley-Stanwood | 148.6 |
| 12 | Ethan Yesko | 18:22.3 | Saline | 148.6 |
| 12 | Kenny Youngs | 18:22.3 | Vicksburg | 148.6 |
| 11 | Mo Cugliari | 18:22.5 | Chelsea | 148.5 |
| 10 | Jack Nicol | 18:22.5 | Yale | 148.5 |
| 10 | Logan Means | 18:22.6 | Shepherd | 148.5 |
| 11 | Ethan Horan | 18:23.1 | Fruitport | 148.3 |
| 9 | Myles Hendel | 18:23.2 | Jenison | 148.3 |
| 12 | Elliott Clayton | 18:23.2 | Rockford | 148.3 |
| 9 | Mitchell Cory | 18:23.3 | Brighton | 148.2 |
| 11 | Alex Wilber | 18:23.3 | Fruitport | 148.2 |
| 10 | Daniel Mandujano | 18:23.5 | Watervliet | 148.2 |
| 11 | Wyatt Hockley | 18:23.6 | Ann Arbor Pioneer | 148.1 |
| 11 | Xander Hartunian | 18:23.6 | Monroe Jefferson | 148.1 |
| 9 | Orion Galloway | 18:23.6 | Monroe Jefferson | 148.1 |
| 11 | Dylan Schumann | 18:23.9 | St. Clair | 148.0 |
| 11 | Michael Kloosterman | 18:24.2 | Kalamazoo Central | 147.9 |
| 9 | Cole Bates | 18:24.3 | Concord | 147.9 |
| 10 | Aidan Edgar | 18:24.4 | Caledonia | 147.9 |
| 9 | Alessandro Castillo | 18:24.6 | Holland | 147.8 |
| 10 | Levi Jongekryg | 18:24.6 | Holland West Ottawa | 147.8 |
| 10 | Carter Stevens | 18:25.0 | Galesburg-Augusta | 147.7 |
| 11 | Nolan West | 18:25.6 | Monroe Jefferson | 147.5 |
| 11 | Joey Stevenson | 18:25.9 | Ann Arbor Pioneer | 147.4 |
| 11 | Cash Newton | 18:25.9 | Kalamazoo Loy Norrix | 147.4 |
| 11 | Ben Vruggink | 18:26.1 | Spring Lake | 147.3 |
| 9 | Gavriel Modderman | 18:26.4 | Allendale | 147.2 |
| 9 | Nicholas Fowler | 18:26.4 | Jonesville | 147.2 |
| 11 | Zach Reed | 18:26.5 | Cedar Springs | 147.2 |
| 10 | Calvin Brinks | 18:26.7 | GR_Christian | 147.1 |
| 9 | Bruno Cifaldi | 18:26.8 | Ann Arbor Skyline | 147.1 |
| 9 | Linus Helzerman | 18:26.8 | Chelsea | 147.1 |
| 9 | Lucas Kyser | 18:27.1 | Jonesville | 147.0 |
| 12 | Preston Stema | 18:27.1 | Zeeland East | 147.0 |
| 10 | Dylan Veltema | 18:27.5 | Zeeland East | 146.8 |
| 9 | Keith Crompton | 18:27.6 | Frankfort | 146.8 |
| 10 | Gabe Maciag | 18:27.6 | Pinckney | 146.8 |
| 12 | Jared Leitch | 18:27.6 | Rockford | 146.8 |
| 11 | Aiden Cripe | 18:27.7 | Coloma | 146.8 |
| 9 | Ryan Ladd | 18:28.2 | Cedar Springs | 146.6 |
| 9 | Zach Wyderko | 18:29.0 | Brighton | 146.3 |
| 11 | Ryan Sutherlund | 18:29.1 | FHC GR_Forest Hills Central | 146.3 |
| 10 | Sam Downing | 18:29.1 | Zeeland East | 146.3 |
| 12 | Gage Vincent | 18:29.3 | Delton-Kellogg | 146.2 |
| 9 | Henry Wickenheiser | 18:29.5 | Monroe St. Mary CC | 146.2 |
| 11 | Keegan Fulling | 18:29.5 | Richland Gull Lake | 146.2 |
| 10 | Evan Balko | 18:29.8 | Marquette | 146.1 |
| 10 | Micah Johnson | 18:30.1 | Hastings | 146.0 |
| 12 | Caden Jackson | 18:30.2 | Constantine | 145.9 |
| 11 | Nathan Baker | 18:30.7 | GR_Christian | 145.8 |
| 9 | Alex Culver | 18:30.7 | Howard City-Tri-County | 145.8 |
| 10 | Ethan Miller | 18:30.9 | Hudsonville Unity Christian | 145.7 |
| 10 | Avi Stotz-Ghosh | 18:30.9 | Portage Central | 145.7 |
| 10 | John Hawver | 18:31.1 | Kalamazoo Loy Norrix | 145.6 |
| 12 | Owen Mast | 18:31.6 | FHE Ada Forest Hills Eastern | 145.5 |
| 11 | Jaden Ostrander | 18:31.7 | Breckenridge | 145.4 |
| 10 | Eddy Granados | 18:31.9 | Coloma | 145.4 |
| 9 | Colin Boullard | 18:32.0 | St. Clair | 145.3 |
| 10 | Wyatt Murtos | 18:32.0 | Yale | 145.3 |
| 10 | Brennan Lee | 18:32.1 | FHE Ada Forest Hills Eastern | 145.3 |
| 10 | Blake Taylor | 18:32.3 | Fremont | 145.2 |
| 10 | Logan VanHouten | 18:32.3 | Otsego | 145.2 |
| 10 | Nick Whitmer | 18:32.7 | FHE Ada Forest Hills Eastern | 145.1 |
| 12 | Adam White | 18:32.7 | Marquette | 145.1 |
| 10 | Caleb Totten | 18:32.9 | Monroe St. Mary CC | 145.0 |
| 12 | Trevor Moody | 18:33.6 | Frankfort | 144.8 |
| 12 | Ben Wertz | 18:33.7 | Grandville Calvin Christian | 144.8 |
| 9 | Aiden Weller | 18:33.8 | Cedar Springs | 144.7 |
| 12 | Winston Pelloski | 18:34.7 | Kingsley | 144.4 |
| 9 | Gordie Kaiton | 18:34.9 | FHE Ada Forest Hills Eastern | 144.4 |
| 9 | Spencer Babcock | 18:35.0 | Paw Paw | 144.3 |
| 11 | Ben Habers | 18:35.4 | TC West (Traverse City) | 144.2 |
| 10 | Evan Miedema | 18:35.6 | Hudsonville Unity Christian | 144.1 |
| 11 | William Steinhour | 18:35.8 | Monroe Jefferson | 144.1 |
| 9 | George Scupham | 18:36.1 | Edwardsburg | 144.0 |
| 12 | Alexander Steward | 18:36.3 | Hastings | 143.9 |
| 9 | James Boobyer | 18:36.3 | Parma Western | 143.9 |
| 10 | Benjamin Slagter | 18:36.4 | Jenison | 143.9 |
| 11 | Charlie Munson | 18:37.2 | Dexter | 143.6 |
| 11 | Blake Mahler | 18:37.5 | Saline | 143.5 |
| 9 | Henry Kauffman | 18:37.7 | Howard City-Tri-County | 143.4 |
| 12 | Sebastian Kirk | 18:38.0 | Bridgman | 143.3 |
| 12 | Nick Schuette | 18:38.2 | Hanover-Horton | 143.3 |
| 9 | Elijah Boes | 18:38.3 | GR_South Christian | 143.2 |
| 10 | Robbie King | 18:38.4 | Constantine | 143.2 |
| 11 | Jackson Stewart | 18:38.4 | Mattawan | 143.2 |
| 10 | Coy Weinberg | 18:38.5 | Buchanan | 143.2 |
| 10 | Alex Richards | 18:38.7 | Hillsdale Academy | 143.1 |
| 9 | Reid Cousins | 18:38.7 | Zeeland West | 143.1 |
| 12 | Peyton Selk | 18:38.8 | Allendale | 143.1 |
| 12 | Sawyer Whitfield | 18:38.9 | Richland Gull Lake | 143.0 |
| 12 | Luke Lehner | 18:38.9 | St. Joseph | 143.0 |
| 9 | Graydon Ott | 18:39.3 | GR_West Michigan Aviation | 142.9 |
| 9 | Hunter Parsons | 18:39.3 | Whitehall | 142.9 |
| 12 | Andrew Salliotte | 18:39.4 | Berrien Springs | 142.9 |
| 9 | Joe Michmerhuizen | 18:39.6 | Zeeland East | 142.8 |
| 11 | Connor O’Donohue | 18:40.4 | GR_West Michigan Aviation | 142.5 |
| 10 | Myles Bray | 18:40.4 | Monroe | 142.5 |
| 11 | Matthew Lage | 18:40.6 | St. Joseph Our Lady of the Lake Catholic | 142.5 |
| 12 | Johnathan Pant | 18:40.8 | Three Rivers | 142.4 |
| 10 | Carroll Robotham | 18:41.5 | Frankfort | 142.2 |
| 10 | Elliot Cole | 18:41.5 | Parchment | 142.2 |
| 10 | Benjamin Hoekstra | 18:41.6 | Hudsonville Unity Christian | 142.1 |
| 10 | Jack Brown | 18:41.8 | GR_West Michigan Aviation | 142.1 |
| 12 | Caleb Doezema | 18:41.9 | GR_Covenant Christian | 142.0 |
| 9 | Connor Wangler | 18:41.9 | Jenison | 142.0 |
| 12 | Austin Barding | 18:42.0 | Spring Lake | 142.0 |
| 12 | Brett Guzman | 18:42.3 | Caledonia | 141.9 |
| 9 | Logan Dziewicki | 18:42.3 | Richland Gull Lake | 141.9 |
| 12 | Dorian Olson | 18:42.4 | Benzie Central | 141.9 |
| 9 | Elijah Bernstein | 18:42.5 | East Kentwood | 141.8 |
| 9 | Caden Leatherman | 18:42.7 | Hudsonville Unity Christian | 141.8 |
| 12 | Todd Leatherman | 18:42.9 | Hudsonville Unity Christian | 141.7 |
| 11 | Vincent Dexter | 18:43.0 | Mattawan | 141.7 |
| 12 | Mike Dombrowski | 18:44.0 | Ann Arbor Pioneer | 141.3 |
| 11 | Gerrit Boer | 18:44.0 | GR_Christian | 141.3 |
| 11 | Grant Gonser | 18:44.4 | Port Huron Northern | 141.2 |
| 12 | Savian Tarrant | 18:44.5 | Traverse City St. Francis | 141.2 |
| 12 | Dylan Chmura | 18:44.6 | Holland | 141.1 |
| 10 | Tyler N. Kooienga | 18:45.0 | GR_Covenant Christian | 141.0 |
| 12 | Avery Jura | 18:45.0 | Whitehall | 141.0 |
| 11 | Elliot Bourne | 18:45.1 | New Buffalo | 141.0 |
| 9 | Brendon Moran | 18:45.1 | Richland Gull Lake | 141.0 |
| 10 | Jerry Westrick | 18:45.2 | St. Clair | 140.9 |
| 12 | Brian Belkowski | 18:45.3 | Marquette | 140.9 |
| 10 | Carter Hausman | 18:45.5 | Kalamazoo Loy Norrix | 140.8 |
| 11 | Jacob Cruz | 18:45.8 | Ann Arbor Pioneer | 140.7 |
| 12 | Tony Rao | 18:46.0 | East Grand Rapids | 140.7 |
| 9 | Camren DeVries | 18:46.0 | Holland West Ottawa | 140.7 |
| 9 | Nolan Wenglikowski | 18:46.0 | Jenison | 140.7 |
| 9 | Alex Holda | 18:46.2 | Grass Lake | 140.6 |
| 12 | Robby Johnson | 18:46.3 | St. Clair | 140.6 |
| 11 | Josh Villa | 18:46.5 | Holland | 140.5 |
| 10 | Christian Huizenga | 18:46.5 | Holland Christian | 140.5 |
| 12 | Eli Ernst | 18:46.6 | Hudsonville Unity Christian | 140.5 |
| 12 | John Norland | 18:46.6 | St. Joseph | 140.5 |
| 9 | Hayden Murray | 18:46.7 | TC West (Traverse City) | 140.4 |
| 11 | Eli Goosen | 18:47.2 | Spring Lake | 140.3 |
| 12 | Daniel Rhoades | 18:47.3 | Monroe | 140.2 |
| 10 | Justin Oetman | 18:47.4 | Saugatuck | 140.2 |
| 9 | Emmet Van Cleave | 18:47.5 | Grass Lake | 140.2 |
| 12 | Micah Martin | 18:47.8 | Delton-Kellogg | 140.1 |
| 12 | Robert Fletcher Tuttle | 18:48.2 | GR_West Michigan Aviation | 139.9 |
| 9 | Aiden VanKuiken | 18:48.4 | East Grand Rapids | 139.9 |
| 12 | Gregor Morton | 18:48.5 | Saline | 139.8 |
| 9 | Hayden Dannenberg | 18:48.7 | Holland Christian | 139.8 |
| 12 | Erik Dexter | 18:48.8 | Leslie | 139.7 |
| 9 | Ethan Dalman | 18:48.9 | Zeeland West | 139.7 |
| 11 | Mason Stafford | 18:49.1 | Muskegon Mona Shores | 139.6 |
| 10 | Lucan Hoercher | 18:49.2 | Three Rivers | 139.6 |
| 9 | Ronan MacArthur | 18:49.8 | Brighton | 139.4 |
| 10 | Parker VanHill | 18:50.4 | GR_Christian | 139.2 |
| 11 | David Martin | 18:50.4 | Parma Western | 139.2 |
| 10 | Rowen Bishop | 18:51.3 | East Grand Rapids | 138.9 |
| 9 | Jonah Zietlow | 18:51.5 | Three Rivers | 138.8 |
| 11 | Will Kletzka | 18:51.8 | Dexter | 138.7 |
| 11 | Jacob Norman | 18:52.0 | Jonesville | 138.7 |
| 12 | Austin Miller | 18:53.3 | Rockford | 138.2 |
| 12 | Valentino DiCroce | 18:53.6 | Portage Central | 138.1 |
| 9 | Jacob McDaniel | 18:53.9 | Grandville | 138.0 |
| 11 | Branden Stock | 18:53.9 | Kingsley | 138.0 |
| 11 | Tyler Vanderzanden | 18:54.0 | Hart | 138.0 |
| 10 | Tyler Endres | 18:54.3 | FHE Ada Forest Hills Eastern | 137.9 |
| 11 | Collin Khatir | 18:54.3 | Muskegon Mona Shores | 137.9 |
| 12 | Arthur Gardine | 18:54.4 | Grandville | 137.9 |
| 9 | Reece Howes | 18:54.5 | Three Rivers | 137.8 |
| 11 | Aldus Yun | 18:55.0 | Ann Arbor Pioneer | 137.7 |
| 9 | Ben Irwin | 18:55.1 | TC West (Traverse City) | 137.6 |
| 11 | Aaiden Gillespie | 18:55.2 | Zeeland East | 137.6 |
| 12 | Grayson Grifhorst | 18:55.4 | Grandville | 137.5 |
| 10 | Zack Mitchell | 18:55.4 | Kalamazoo Christian | 137.5 |
| 9 | Colton Dibble | 18:55.6 | FHN GR_Forest Hills Northern | 137.5 |
| 12 | Owen Liepman | 18:55.9 | Saline | 137.4 |
| 9 | Brennan Nor | 18:56.5 | Saugatuck | 137.2 |
| 12 | Collin Doederlein | 18:56.9 | Parma Western | 137.0 |
| 9 | Asher Jager | 18:57.0 | GR_West Michigan Aviation | 137.0 |
| 11 | Drew Hoskins | 18:57.0 | Stevensville Lakeshore | 137.0 |
| 12 | Connor McIntyre | 18:57.0 | Traverse City St. Francis | 137.0 |
| 12 | Isaac Shepard | 18:57.1 | Delton-Kellogg | 137.0 |
| 12 | Chase Robertson | 18:57.2 | Bay City Western | 136.9 |
| – | Frantisek Tupec | 18:57.5 | Marquette | 136.8 |
| 9 | Hayden Fox | 18:57.6 | Muskegon Mona Shores | 136.8 |
| 10 | Caidan Gaskill | 18:57.8 | Clare | 136.7 |
| 11 | Isaiah Olivarez | 18:57.9 | FHN GR_Forest Hills Northern | 136.7 |
| 9 | Aidan Simrau | 18:58.3 | TC West (Traverse City) | 136.6 |
| 9 | William Warner | 18:58.4 | Clare | 136.5 |
| 10 | Logan Patmalnieks | 18:58.5 | Constantine | 136.5 |
| 11 | Loch Rigozzi | 18:58.7 | Saugatuck | 136.4 |
| 9 | Gibson Shore | 18:58.8 | Jackson Lumen Christi | 136.4 |
| 10 | Finn Wilson | 18:59.3 | Ann Arbor Pioneer | 136.2 |
| 12 | Jacob Spezia | 18:59.5 | St. Clair | 136.2 |
| 9 | Liam Hallack | 18:59.5 | Zeeland West | 136.2 |
| 12 | Nathan Padbury | 18:59.6 | Jackson Lumen Christi | 136.1 |
| 9 | Tyler Langfeldt | 19:00.5 | Potterville | 135.8 |
| 10 | Aidan Ohanyan | 19:00.7 | Hudsonville | 135.8 |
| 9 | Diego Barnaby | 19:00.8 | GR_Ottawa Hills | 135.7 |
| 9 | Kian Sprik | 19:01.1 | FHN GR_Forest Hills Northern | 135.6 |
| 9 | Jacob Erickson | 19:01.1 | Niles | 135.6 |
| 12 | Ethan Pyscher | 19:01.7 | Caledonia | 135.4 |
| 12 | Eric VonBargen | 19:02.2 | Ann Arbor Skyline | 135.3 |
| 11 | Fernando Muñoz | 19:02.2 | Bangor | 135.3 |
| 9 | Rick Hunderman | 19:02.2 | GR_South Christian | 135.3 |
| 12 | Ryan Keen | 19:02.2 | GR_South Christian | 135.3 |
| 9 | Alex Martin | 19:02.7 | Chelsea | 135.1 |
| 11 | Braiden Brooks | 19:02.7 | Three Oaks River Valley | 135.1 |
| 11 | Tyler Bakhuyzen | 19:02.8 | Hudsonville Unity Christian | 135.1 |
| 9 | Zeke Lafferty | 19:03.3 | Ann Arbor Skyline | 134.9 |
| 10 | Garrett Abel | 19:03.6 | Spring Lake | 134.8 |
| 12 | Braylon Anderson | 19:03.9 | Grandville | 134.7 |
| 10 | Evan Butler | 19:04.0 | Fruitport | 134.7 |
| 12 | Bryce Garcia | 19:04.0 | Rockford | 134.7 |
| 12 | Nathan Robertson | 19:04.1 | Lawton | 134.6 |
| 11 | Austin Zielinski | 19:04.6 | Grandville Calvin Christian | 134.5 |
| 10 | Zac Taylor | 19:04.6 | Traverse City St. Francis | 134.5 |
| 10 | Sean Skuratowicz | 19:05.0 | Kalamazoo Central | 134.3 |
| 10 | Nathan Steen | 19:05.1 | Holland Christian | 134.3 |
| 11 | Logan Hile | 19:05.3 | Leslie | 134.2 |
| 11 | Christian Leachman | 19:05.5 | TC West (Traverse City) | 134.2 |
| 10 | Ben Iobe | 19:06.1 | Mendon | 134.0 |
| 9 | Sam Price | 19:06.4 | Ann Arbor Pioneer | 133.9 |
| 9 | Carson Wernholm | 19:06.6 | Marquette | 133.8 |
| 10 | Alexander Lawrence | 19:07.0 | Muskegon Western Mich. Christian | 133.7 |
| 11 | Luke Nagelkirk | 19:07.0 | Zeeland East | 133.7 |
| 9 | Silas Ensink | 19:07.5 | Grandville Calvin Christian | 133.5 |
| 11 | Braxton Zenner | 19:07.5 | Kingsley | 133.5 |
| 11 | Owen Slavens | 19:07.9 | Three Oaks River Valley | 133.4 |
| 10 | Noah Zelinski | 19:08.0 | Traverse City St. Francis | 133.3 |
| 10 | Ethan Henry | 19:08.1 | Jenison | 133.3 |
| 9 | Mason Liepman | 19:08.1 | Saline | 133.3 |
| 11 | Eddy Charron | 19:08.3 | Paw Paw | 133.2 |
| 10 | Jacob Simon | 19:08.3 | Remus Chippewa Hills | 133.2 |
| 9 | Lucas Rumsa | 19:08.5 | Bridgman | 133.2 |
| 11 | Andrew Dalman | 19:08.6 | Zeeland West | 133.1 |
| 12 | Carson Millspaugh | 19:08.8 | Holland Christian | 133.1 |
| 9 | Rodrigo Morales | 19:09.0 | Hartford | 133.0 |
| 11 | Hudson Kiteley | 19:09.1 | Benzie Central | 133.0 |
| 10 | Maclin Stidolph | 19:09.1 | East Kentwood | 133.0 |
| 11 | Connor Lubbers | 19:09.1 | GR_Covenant Christian | 133.0 |
| 10 | Jack Parent | 19:09.1 | Marquette | 133.0 |
| 9 | Marcel Stork | 19:09.3 | Mattawan | 132.9 |
| 9 | Everett Radgens | 19:09.3 | Vicksburg | 132.9 |
| 12 | Andy Granados | 19:09.8 | Coloma | 132.7 |
| 10 | Collin Eckermann | 19:09.9 | Saline | 132.7 |
| 10 | Owen Stimer | 19:10.2 | Holland Black River | 132.6 |
| 12 | Charlie Hicks | 19:10.4 | Clare | 132.5 |
| 11 | Billy Webster | 19:10.4 | Paw Paw | 132.5 |
| 12 | Gabe Rowell | 19:10.6 | Hudsonville | 132.5 |
| 9 | Sam Zhang | 19:10.9 | Portage Central | 132.4 |
| 9 | Kelton Hoover | 19:11.1 | GR_Ottawa Hills | 132.3 |
| 9 | Jacob Tinholt | 19:11.3 | Holland Christian | 132.2 |
| 12 | Cole VanderDussen | 19:11.4 | Kalamazoo Christian | 132.2 |
| 10 | Jacob Barnes | 19:11.5 | FHC GR_Forest Hills Central | 132.2 |
| 11 | Landon Jordon | 19:11.6 | Hanover-Horton | 132.1 |
| 11 | Heath Soho | 19:11.8 | FHE Ada Forest Hills Eastern | 132.1 |
| 11 | Freddie Santangelo | 19:12.0 | Cadillac | 132.0 |
| 9 | Keegan DeHare | 19:12.1 | Allendale | 132.0 |
| 9 | Ty Vruggink | 19:12.1 | Hudsonville | 132.0 |
| 9 | Jack Fahlgren | 19:12.2 | Ann Arbor Pioneer | 131.9 |
| 11 | Evan Spronk | 19:12.2 | GR_South Christian | 131.9 |
| 10 | Sean Driscoll | 19:12.2 | Three Oaks River Valley | 131.9 |
| 11 | Danny Maat | 19:12.3 | Muskegon Western Mich. Christian | 131.9 |
| 9 | Kaden Van Ryn | 19:12.4 | Caledonia | 131.9 |
| 10 | Ayden Barcia | 19:12.5 | Clare | 131.8 |
| 12 | Hayden Wood | 19:12.6 | Clare | 131.8 |
| 10 | Zach Vonk | 19:12.6 | Holland Calvary Christian | 131.8 |
| 9 | Porter Yurk | 19:12.7 | Holland West Ottawa | 131.8 |
| 10 | Jacob Voetberg | 19:12.9 | GR_Christian | 131.7 |
| 11 | Evan Marsee | 19:13.0 | Ann Arbor Pioneer | 131.7 |
| 12 | Jesse Jones | 19:13.0 | Mt. Pleasant Sacred Heart | 131.7 |
| 11 | Adrian Gariepy | 19:13.2 | Mattawan | 131.6 |
| 9 | Kaden Mingerink | 19:13.5 | GR_Covenant Christian | 131.5 |
| 11 | Parker Prior | 19:13.6 | Milan | 131.5 |
| 11 | Luke Mazaitis | 19:13.7 | Brighton | 131.4 |
| 11 | Ike Lindley | 19:13.8 | Hillsdale Academy | 131.4 |
| 11 | Sean Pierucci | 19:13.9 | Kalamazoo Hackett | 131.4 |
| 12 | Brett Harsevoort | 19:14.0 | Delton-Kellogg | 131.3 |
| 9 | Henry Lindley | 19:14.0 | Hillsdale Academy | 131.3 |
| 10 | Joel Bezeau | 19:14.0 | Monroe Jefferson | 131.3 |
| 10 | Landon Moore | 19:14.1 | Howard City-Tri-County | 131.3 |
| 11 | Will Hoekstra | 19:14.8 | FHE Ada Forest Hills Eastern | 131.1 |
| 10 | Marlow Quigley | 19:15.1 | Marquette | 131.0 |
| 11 | Kaden Hamming | 19:15.1 | Middleville Thornapple-Kellogg | 131.0 |
| 9 | Bryce VanderKodde | 19:15.2 | Hart | 130.9 |
| 10 | Jonah Howell | 19:15.7 | FHE Ada Forest Hills Eastern | 130.8 |
| 10 | Matt Spedoske | 19:16.0 | Big Rapids | 130.7 |
| 11 | Evan Ball | 19:16.7 | Hudsonville | 130.4 |
| 12 | Jack Novotny | 19:16.8 | Kalamazoo Loy Norrix | 130.4 |
| 12 | Brayden Snyder | 19:16.9 | Holland | 130.4 |
| 10 | Kaiden Murdock | 19:17.0 | Grandville | 130.3 |
| 10 | Micah Derks | 19:17.2 | Jenison | 130.3 |
| 11 | Brad Salmon | 19:18.0 | Bridgman | 130.0 |
| 9 | Connor Sherwood | 19:18.5 | Grass Lake | 129.8 |
| 9 | James Rahe | 19:18.9 | Hillsdale Academy | 129.7 |
| 9 | Eddie Walter | 19:19.1 | Traverse City St. Francis | 129.6 |
| 9 | Ethin Chandler | 19:19.5 | Benzie Central | 129.5 |
| 9 | Landon Harris | 19:19.6 | Benzie Central | 129.5 |
| 9 | Miles Dell | 19:19.6 | Chelsea | 129.5 |
| 9 | Reuben Anderson | 19:19.9 | Muskegon Western Mich. Christian | 129.4 |
| 11 | Andrew Calkins Ensey | 19:20.0 | Portage Northern | 129.3 |
| 9 | Kasen Salazar | 19:20.2 | Dexter | 129.3 |
| 11 | Mitchell Smith | 19:20.4 | GR_NorthPointe Christian | 129.2 |
| 10 | Amon Nagase | 19:20.5 | Ann Arbor Pioneer | 129.2 |
| 10 | Gabe Hillary | 19:20.6 | FHN GR_Forest Hills Northern | 129.1 |
| 10 | Lucas Kozlowicz | 19:20.7 | FHE Ada Forest Hills Eastern | 129.1 |
| 11 | Foster Boak | 19:20.7 | Hudsonville | 129.1 |
| 10 | Josiah Swedberg | 19:20.7 | Wyoming Potter’s House | 129.1 |
| 11 | Luke Duncan | 19:20.9 | Mattawan | 129.0 |
| 11 | Ethan Nguyen | 19:20.9 | Zeeland East | 129.0 |
| 12 | Jordan Schuiling | 19:21.0 | Kent City | 129.0 |
| 9 | Isaac Struck-VanderHaak | 19:21.0 | Wyoming Potter’s House | 129.0 |
| 10 | Isaiah Mulheron | 19:21.2 | Clare | 128.9 |
| 10 | Cole Hinterman | 19:21.6 | Hudsonville | 128.8 |
| 12 | Elijah Luce | 19:21.7 | Holland Christian | 128.8 |
| 11 | Joshua Scott | 19:21.8 | St. Joseph | 128.7 |
| 11 | Zach Kern | 19:22.0 | Holland Christian | 128.7 |
| 9 | Jackson Schaub | 19:22.1 | Benzie Central | 128.6 |
| 9 | Will Johnson | 19:22.1 | Holland Christian | 128.6 |
| 9 | Willem Spoelhof | 19:22.3 | FHN GR_Forest Hills Northern | 128.6 |
| 9 | Brandon McCullough | 19:22.5 | Kent City | 128.5 |
| 12 | Edward Lopez | 19:22.6 | Eau Claire | 128.5 |
| 9 | Jaden Gregory | 19:22.7 | Edwardsburg | 128.4 |
| 10 | Tyler Bostrom | 19:23.0 | Holland Christian | 128.3 |
| 10 | Luke Kelm | 19:23.0 | Portage Northern | 128.3 |
| 12 | Tyler Kooienga | 19:23.1 | GR_Covenant Christian | 128.3 |
| 12 | Allen Trejo | 19:23.7 | Kalamazoo Central | 128.1 |
| 11 | Ben Botkin | 19:24.0 | Ann Arbor Pioneer | 128.0 |
| 11 | Carter Verkerk | 19:24.0 | Saline | 128.0 |
| 10 | Jonathan Greenhoe | 19:24.0 | Zeeland West | 128.0 |
| 12 | Brandon Lopez-Rebolledo | 19:24.4 | Wyoming Lee | 127.9 |
| 12 | Nick Thuente | 19:24.7 | Traverse City St. Francis | 127.8 |
| 10 | Caleb Bomhof | 19:25.2 | Holland West Ottawa | 127.6 |
| 11 | Elijah Dyer | 19:25.2 | Springport | 127.6 |
| 12 | Silas Lorenz | 19:25.6 | St. Joseph | 127.5 |
| 9 | Logan Snoap | 19:25.7 | Hudsonville | 127.4 |
| 9 | David Sager | 19:25.8 | Gobles | 127.4 |
| 10 | Oscar Armijo | 19:26.1 | Grand River Prep | 127.3 |
| 9 | Parker Bomia-Laberdee | 19:26.5 | Monroe | 127.2 |
| 9 | Ben Peer | 19:26.6 | Monroe Jefferson | 127.1 |
| 10 | Bryce Billings | 19:26.9 | Kalamazoo Central | 127.0 |
| 9 | Ty Rampy | 19:27.1 | St. Clair | 127.0 |
| 10 | Benjamin Eros | 19:27.5 | Grass Lake | 126.8 |
| 9 | Isaac Fullerton | 19:27.5 | Parma Western | 126.8 |
| 9 | Nicholas Downey | 19:27.6 | Portage Northern | 126.8 |
| 11 | Bryson Van Ryn | 19:27.8 | GR_West Michigan Aviation | 126.7 |
| 9 | Andrew Sottile | 19:28.4 | Monroe St. Mary CC | 126.5 |
| 10 | Kalen Loebach | 19:28.4 | St. Joseph Our Lady of the Lake Catholic | 126.5 |
| 10 | Cameron Davenport | 19:28.9 | Holland West Ottawa | 126.4 |
| 9 | Henry Robinson | 19:28.9 | St. Joseph | 126.4 |
| 10 | Donald Thompson | 19:29.2 | Big Rapids | 126.3 |
| 10 | Kenyon Brooks | 19:29.7 | Grandville | 126.1 |
| 10 | Henry Schwarze | 19:29.9 | FHC GR_Forest Hills Central | 126.0 |
| 11 | Josiah Meyers | 19:30.4 | Holland Christian | 125.9 |
| 11 | Aiden O’Dwyer | 19:30.8 | Frankfort | 125.7 |
| 9 | Neiko Ketchum | 19:31.3 | Clare | 125.6 |
| 11 | Ayden Duffin | 19:31.7 | Caledonia | 125.4 |
| 9 | Maddox Hutchinson | 19:31.9 | Concord | 125.4 |
| 9 | Brayden VanOs | 19:32.0 | Big Rapids | 125.3 |
| 12 | Trenton Winter | 19:32.0 | Rockford | 125.3 |
| 9 | Henry Dutcher | 19:32.4 | Kalamazoo Central | 125.2 |
| 10 | Nicholas Pollich | 19:32.7 | Mattawan | 125.1 |
| 9 | Joshua Kortenhoven | 19:32.9 | GR_Ottawa Hills | 125.0 |
| 12 | Carlos Hernandez-Martinez | 19:33.0 | Wyoming Lee | 125.0 |
| 11 | Ty Schumann | 19:33.1 | Bay City Western | 125.0 |
| 11 | James Neeb | 19:33.3 | Portage Central | 124.9 |
| 10 | Reed Osterink | 19:33.4 | Wyoming Potter’s House | 124.9 |
| 9 | Brayden Prieskorn | 19:34.0 | St. Clair | 124.7 |
| 9 | Ayden Cady | 19:34.1 | Boyne City | 124.6 |
| 10 | Tyler Caruso | 19:34.4 | Bangor | 124.5 |
| 12 | Eli Mulder | 19:34.5 | Grandville Calvin Christian | 124.5 |
| 11 | Ewan Lemens | 19:34.6 | Ann Arbor Pioneer | 124.5 |
| 12 | Daniel Adams | 19:34.7 | Bangor | 124.4 |
| 9 | Landon Johnson | 19:34.7 | Fruitport | 124.4 |
| 10 | Avery Guikema | 19:34.7 | Hart | 124.4 |
| 12 | Ethan Smith | 19:34.9 | FHE Ada Forest Hills Eastern | 124.4 |
| 11 | Carter Hill | 19:35.0 | Dexter | 124.3 |
| 12 | Luke Prong | 19:35.1 | South Haven | 124.3 |
| 10 | Alexander Sexton | 19:35.1 | Watervliet | 124.3 |
| 9 | Philip Golden | 19:35.4 | GR_NorthPointe Christian | 124.2 |
| 9 | Matthew Bentley | 19:35.7 | Buckley | 124.1 |
| 10 | Joseph Robison | 19:35.7 | East Kentwood | 124.1 |
| 11 | Bruno Jorgensen | 19:36.0 | Jenison | 124.0 |
| 10 | Grayson Borick | 19:36.1 | Kalamazoo Loy Norrix | 124.0 |
| 11 | Junior Tovar | 19:36.2 | Grand River Prep | 123.9 |
| 9 | Ian Kimbrell | 19:36.4 | Caledonia | 123.9 |
| 12 | Ryan Van Dyken | 19:36.5 | Hudsonville | 123.8 |
| 9 | Luke Smith | 19:36.6 | Caledonia | 123.8 |
| 10 | Nolan Kiplinger | 19:36.6 | Kalamazoo Loy Norrix | 123.8 |
| 10 | Sam Tolkinen | 19:36.8 | Cadillac | 123.7 |
| 9 | Isaac Westra | 19:37.1 | GR_Covenant Christian | 123.6 |
| 9 | Carson Dubose | 19:37.3 | Leslie | 123.6 |
| 9 | Dylan Gryglewski | 19:37.4 | TC West (Traverse City) | 123.5 |
| 9 | Levi Vanderlaan | 19:37.7 | Spring Lake | 123.4 |
| 12 | Gabe Schwendinger | 19:37.8 | Galesburg-Augusta | 123.4 |
| 11 | Blake Armstrong | 19:37.8 | Muskegon Oakridge | 123.4 |
| 10 | Reggie Geftos | 19:38.1 | Monroe | 123.3 |
| 10 | Marshall Pederson Iii | 19:38.2 | Caledonia | 123.3 |
| 10 | Logan Morrison | 19:38.2 | Portage Northern | 123.3 |
| 9 | Tyler VanKuiken | 19:38.4 | East Grand Rapids | 123.2 |
| 9 | Anders Foerch | 19:38.6 | Caledonia | 123.1 |
| 9 | Kona Crump | 19:38.6 | Clare | 123.1 |
| 10 | Keagan Cole | 19:38.9 | Parchment | 123.0 |
| 9 | Isaac Johnson | 19:39.2 | Holland Black River | 122.9 |
| 11 | Noah Bosma | 19:39.4 | Holland West Ottawa | 122.9 |
| 11 | Jacob Smith | 19:39.7 | Monroe St. Mary CC | 122.8 |
| 12 | Jace Moore | 19:40.0 | Marquette | 122.7 |
| 9 | Piotrzowski Jacob | 19:40.1 | Holland West Ottawa | 122.6 |
| 9 | Jayden Quist | 19:40.7 | Spring Lake | 122.4 |
| 9 | Simon Faber | 19:40.8 | FHN GR_Forest Hills Northern | 122.4 |
| 9 | Jack Karalash | 19:41.4 | Richland Gull Lake | 122.2 |
| 11 | Jaxon Palmbos | 19:41.6 | GR_South Christian | 122.1 |
| 10 | Jon Truong | 19:41.7 | FHN GR_Forest Hills Northern | 122.1 |
| 11 | Caleb Drnek | 19:41.7 | GR_Covenant Christian | 122.1 |
| 10 | Armand Arakaza | 19:41.9 | GR_Christian | 122.0 |
| 12 | Connor Bing | 19:41.9 | Zeeland East | 122.0 |
| 12 | Luke Meyer | 19:42.0 | Grandville | 122.0 |
| 12 | Seth VanOss | 19:42.1 | GR_Christian | 122.0 |
| 10 | Christien Miller | 19:42.4 | Middleville Thornapple-Kellogg | 121.9 |
| 12 | Zechariah Rubingh | 19:42.9 | Wyoming Potter’s House | 121.7 |
| 11 | Henry Mulder | 19:43.1 | Holland | 121.6 |
| 10 | Parker Rubin | 19:43.5 | Grand Traverse Academy | 121.5 |
| 11 | Jacob Williams | 19:43.6 | Kalamazoo Christian | 121.5 |
| 11 | Victer Ruimveld | 19:43.6 | Lawton | 121.5 |
| 12 | Landon Wilson | 19:43.8 | Dexter | 121.4 |
| 11 | Conor Brown | 19:43.8 | East Grand Rapids | 121.4 |
| 10 | Howie Herrygers | 19:43.9 | Zeeland West | 121.4 |
| 9 | Samuel Hovermale | 19:44.0 | East Kentwood | 121.3 |
| 11 | Isaac Anderson | 19:44.1 | Hudsonville | 121.3 |
| 9 | Zachary Perkins | 19:44.3 | Monroe St. Mary CC | 121.2 |
| 10 | Hunter Tietz | 19:44.8 | Middleville Thornapple-Kellogg | 121.1 |
| 11 | Garrison Klinge | 19:44.9 | Muskegon Oakridge | 121.0 |
| 10 | Isaac Adams | 19:44.9 | Vicksburg | 121.0 |
| 10 | Bond Smith | 19:45.1 | GR_West Michigan Aviation | 121.0 |
| 11 | Samual Collins | 19:45.1 | Portage Northern | 121.0 |
| 12 | Colton Ruster | 19:45.2 | Zeeland West | 120.9 |
| 12 | Gabe Muckle | 19:45.3 | Chelsea | 120.9 |
| 10 | Ayden VanDyk | 19:45.7 | GR_Covenant Christian | 120.8 |
| 9 | Ryan Buist | 19:45.9 | St. Joseph | 120.7 |
| 10 | Jack Robichaud | 19:46.0 | Ann Arbor Skyline | 120.7 |
| 10 | Mason Ezinga | 19:46.2 | GR_South Christian | 120.6 |
| 9 | Daniel Baez-Espinoza | 19:46.2 | Wyoming Potter’s House | 120.6 |
| 11 | Kaidyn Boehm | 19:46.4 | Stevensville Lakeshore | 120.5 |
| 10 | Isaiah Post | 19:46.4 | Wyoming Potter’s House | 120.5 |
| 9 | Dayton Moran | 19:46.5 | Richland Gull Lake | 120.5 |
| 11 | Corbin Smith | 19:46.8 | Boyne City | 120.4 |
| 9 | Samuel VandeWege | 19:46.8 | Holland Christian | 120.4 |
| 12 | Antonio Espinosa | 19:47.0 | Rockford | 120.3 |
| 9 | Alessandro Avila | 19:47.1 | Constantine | 120.3 |
| 10 | Trey Sukola | 19:47.4 | Parchment | 120.2 |
| 12 | Caleb Kooyer | 19:47.4 | Wyoming Potter’s House | 120.2 |
| 12 | Enio Tzay | 19:47.9 | East Grand Rapids | 120.0 |
| 9 | Joshua Riggs | 19:47.9 | Monroe | 120.0 |
| 10 | Jonah Brummel | 19:48.3 | GR_Covenant Christian | 119.9 |
| 12 | Julian Hawthorne | 19:48.5 | Constantine | 119.8 |
| 11 | Jonah Boone | 19:49.1 | Richland Gull Lake | 119.6 |
| 11 | Mark Stefaniak | 19:49.2 | Edwardsburg | 119.6 |
| 10 | Hatcher Linsley | 19:49.6 | Kent City | 119.5 |
| 11 | Noah Gola | 19:49.7 | Shepherd | 119.4 |
| 9 | Carter Slezak | 19:50.2 | Gaylord | 119.3 |
| 10 | Levi Vestrand | 19:50.9 | Paw Paw | 119.0 |
| 9 | Gustaf Finn | 19:51.0 | Ann Arbor Skyline | 119.0 |
| 12 | Dylan Church | 19:51.3 | Middleville Thornapple-Kellogg | 118.9 |
| 10 | Charlie Laughlin | 19:51.5 | GR_Ottawa Hills | 118.8 |
| 11 | Jacob Howes | 19:51.6 | Three Rivers | 118.8 |
| 12 | Nathan Mills | 19:51.7 | Portage Central | 118.8 |
| 9 | Gavin Bishop | 19:51.9 | St. Clair | 118.7 |
| 10 | Colin Brady | 19:52.0 | Bay City Western | 118.7 |
| 10 | Calvin Huizinga | 19:52.6 | GR_Covenant Christian | 118.5 |
| 9 | Seth Jenkins | 19:52.6 | Hudsonville | 118.5 |
| 12 | Garret Ensor | 19:52.8 | Buckley | 118.4 |
| 10 | Talen Verburg | 19:52.9 | Caledonia | 118.4 |
| 9 | Noah Bower | 19:52.9 | Hudsonville | 118.4 |
| 12 | William VanderLaan | 19:53.0 | East Grand Rapids | 118.3 |
| 9 | Rex Jackson | 19:53.1 | GR_South Christian | 118.3 |
| 10 | Isaiah LaDuke | 19:53.3 | Holland West Ottawa | 118.2 |
| 10 | Logan Hewitt | 19:53.4 | Benzie Central | 118.2 |
| 11 | Mathew Miedema | 19:53.8 | Newaygo | 118.1 |
| 10 | Kyan Isham | 19:54.0 | Leslie | 118.0 |
| 10 | Luke Ankeney | 19:54.3 | Ann Arbor Pioneer | 117.9 |
| 11 | Nathan Haygood | 19:54.7 | Berrien Springs | 117.8 |
| 10 | Wyatt Boteler | 19:54.7 | Grass Lake | 117.8 |
| 11 | Jacob Hallenbeck | 19:55.1 | Rockford | 117.6 |
| 12 | David Utzinger | 19:56.1 | Muskegon Oakridge | 117.3 |
| 9 | Jacob Burton | 19:56.1 | Portage Northern | 117.3 |
| 9 | Josh Statema | 19:56.2 | GR_Christian | 117.3 |
| 12 | Kees Duncan | 19:56.3 | East Grand Rapids | 117.2 |
| 9 | Gabriel Gauss | 19:57.3 | Rockford | 116.9 |
| 10 | Kelsey Simms | 19:57.6 | Bloomingdale | 116.8 |
| 11 | Brady VerBeek | 19:57.9 | Zeeland West | 116.7 |
| 11 | Jacob Williams | 19:58.1 | Portage Central | 116.6 |
| 9 | Nolan Williamson | 19:58.3 | East Grand Rapids | 116.6 |
| 11 | Nathan DeVries | 19:58.4 | GR_South Christian | 116.5 |
| 9 | Ben Khul | 19:58.4 | Marquette | 116.5 |
| 9 | Ross Bettich | 19:58.9 | Stevensville Lakeshore | 116.4 |
| 10 | Evan Craddock | 19:59.5 | Parma Western | 116.2 |
| 12 | Liam Manders | 19:59.7 | FHC GR_Forest Hills Central | 116.1 |
| 9 | Zachary Burt | 20:00.1 | Shepherd | 116.0 |
| 10 | Teo Wilkerson | 20:00.2 | Grandville | 115.9 |
| 12 | Will Leman | 20:00.5 | Edwardsburg | 115.8 |
| 12 | Evan Spriggs | 20:00.7 | New Buffalo | 115.8 |
| 11 | Ian Jones | 20:00.9 | GR_NorthPointe Christian | 115.7 |
| 11 | Dusty Layman | 20:00.9 | Johannesburg-Lewiston | 115.7 |
| 10 | Alex Burgess | 20:00.9 | Paw Paw | 115.7 |
| 12 | Thomas VanOverloop | 20:01.0 | GR_Covenant Christian | 115.7 |
| 12 | Theodore Conrad | 20:01.3 | Muskegon Mona Shores | 115.6 |
| 11 | Paul Skendzel | 20:01.6 | Traverse City St. Francis | 115.5 |
| 11 | Jakob Sorensen | 20:02.1 | FHN GR_Forest Hills Northern | 115.3 |
| 11 | Cole Greenfield | 20:02.3 | Hastings | 115.2 |
| 11 | Julian Serna | 20:02.6 | Bloomingdale | 115.1 |
| 10 | Landon Kulawiak | 20:03.0 | Buckley | 115.0 |
| 10 | Rex Bajcz | 20:03.4 | Ann Arbor Pioneer | 114.9 |
| 9 | Dillan Roosien | 20:03.4 | Caledonia | 114.9 |
| 10 | Dylan Choura | 20:03.4 | FHC GR_Forest Hills Central | 114.9 |
| 11 | Robby Yoder | 20:03.4 | Three Rivers | 114.9 |
| 10 | Breslin Sharp | 20:05.1 | Parma Western | 114.3 |
| 10 | Jack Pummill | 20:05.2 | Spring Lake | 114.3 |
| 12 | Dean Kauffman | 20:05.4 | Rockford | 114.2 |
| 9 | Jacob Lewis | 20:05.4 | Whitehall | 114.2 |
| 11 | Jack Burin | 20:07.4 | Dexter | 113.5 |
| 12 | Gabe Flores | 20:07.6 | Constantine | 113.5 |
| 11 | Fletcher Todd | 20:07.7 | Coloma | 113.4 |
| 11 | Luke Fermin | 20:07.8 | FHE Ada Forest Hills Eastern | 113.4 |
| 10 | Darren Schalhamer | 20:08.0 | Jackson Lumen Christi | 113.3 |
| 11 | Eoghan Burns | 20:08.2 | East Grand Rapids | 113.3 |
| 10 | Aimon Humm | 20:08.3 | Breckenridge | 113.2 |
| 11 | Travis Heyn | 20:08.5 | Portage Northern | 113.2 |
| 12 | Jaren Waldschmidt | 20:08.9 | Cassopolis Ross Beatty | 113.0 |
| 11 | Clint Cagle | 20:09.4 | Bangor | 112.9 |
| 12 | Chaseton Wyckoff | 20:09.6 | Centreville | 112.8 |
| 12 | Matthew Cross | 20:09.6 | Kingsley | 112.8 |
| 10 | Jackson Jones | 20:09.6 | Parma Western | 112.8 |
| 12 | Michael Cornell | 20:09.8 | FHN GR_Forest Hills Northern | 112.7 |
| 10 | Ethan Jastifer | 20:09.8 | Vicksburg | 112.7 |
| 9 | Zeke Shafer | 20:10.0 | Monroe St. Mary CC | 112.7 |
| 12 | Dylan Terpstra | 20:10.2 | Hudsonville | 112.6 |
| 12 | Oscar Sosa | 20:11.1 | Wyoming Lee | 112.3 |
| 9 | DeVaughn Wolters | 20:11.2 | Hudsonville Unity Christian | 112.3 |
| 10 | Jorge Zuniga | 20:11.3 | Watervliet | 112.2 |
| 9 | Isaac Gola | 20:11.6 | Shepherd | 112.1 |
| 10 | Brady Bearss | 20:11.9 | Boyne City | 112.0 |
| 11 | Levi VanderMeyden | 20:11.9 | GR_South Christian | 112.0 |
| 11 | Luke Piersma | 20:12.0 | Grandville Calvin Christian | 112.0 |
| 11 | Jack McCalla | 20:12.1 | Dexter | 112.0 |
| 9 | Ace Drewyor | 20:12.2 | Schoolcraft | 111.9 |
| 12 | Victor Wu | 20:12.5 | Muskegon Mona Shores | 111.8 |
| 9 | Louis Musser | 20:12.6 | Bay City Western | 111.8 |
| 10 | Tomas Mendez | 20:13.3 | Jenison | 111.6 |
| 11 | Evan Chandler | 20:13.5 | Benzie Central | 111.5 |
| 10 | Drew Kobryn | 20:13.5 | Three Rivers | 111.5 |
| 9 | Cameron Braidwood | 20:14.0 | Spring Lake | 111.3 |
| 12 | Allen Zhang | 20:14.1 | St. Clair | 111.3 |
| 10 | Luke Linna | 20:14.4 | GR_West Michigan Aviation | 111.2 |
| 10 | Ethan Schaner | 20:14.8 | Hart | 111.1 |
| 9 | Clay Raterman | 20:15.1 | Jenison | 111.0 |
| 9 | Beck Ytterberg | 20:15.2 | Bridgman | 110.9 |
| 10 | Jerry Strasser | 20:15.3 | Paw Paw | 110.9 |
| 10 | Harry Cornell | 20:15.4 | East Grand Rapids | 110.9 |
| 10 | Xavier Hoppe | 20:16.2 | Shepherd | 110.6 |
| 9 | Mason Maley | 20:16.6 | Chelsea | 110.5 |
| 9 | Justin Bergman | 20:16.6 | Portage Central | 110.5 |
| 9 | Jackson Zhang | 20:17.1 | St. Clair | 110.3 |
| 9 | Trey Hall | 20:17.1 | Three Rivers | 110.3 |
| 10 | Lucas Isbrecht | 20:17.7 | Watervliet | 110.1 |
| 10 | Emery Govaere | 20:17.8 | St. Clair | 110.1 |
| 11 | Trace Laskey | 20:18.1 | Howard City-Tri-County | 110.0 |
| 12 | Richard Dragicevich | 20:18.7 | Jenison | 109.8 |
| 10 | Tim O’Brien | 20:18.8 | GR_West Catholic | 109.7 |
| 9 | Mark Gielincki | 20:19.0 | Middleville Thornapple-Kellogg | 109.7 |
| 10 | Jacob Kuipers | 20:19.4 | Hudsonville Unity Christian | 109.5 |
| 9 | Nathaniel Gschwind | 20:19.6 | FHC GR_Forest Hills Central | 109.5 |
| 9 | Enzo Aggoune | 20:19.8 | Fruitport | 109.4 |
| 11 | Ben Reed | 20:20.0 | Centreville | 109.3 |
| 10 | Alexander Moon | 20:20.0 | Portage Central | 109.3 |
| 11 | Eli Moorhouse | 20:20.1 | Allendale | 109.3 |
| 12 | Caleb Fish | 20:20.1 | FHN GR_Forest Hills Northern | 109.3 |
| 9 | Haydn Weidner | 20:20.4 | Caledonia | 109.2 |
| 9 | Samuel Mathiesen | 20:20.4 | Portage Central | 109.2 |
| 12 | Joseph Heckroth | 20:20.6 | Boyne City | 109.1 |
| 10 | Cole Spencer | 20:20.7 | Bay City Western | 109.1 |
| 9 | Isaiah Gillette | 20:20.7 | Hudsonville | 109.1 |
| 9 | Caleb Bays | 20:20.9 | Newaygo | 109.0 |
| 9 | Issak Stitt | 20:22.0 | Zeeland East | 108.7 |
| 10 | Andrew Tava | 20:22.3 | Caledonia | 108.6 |
| 11 | Ethan VanderLugt | 20:22.9 | Kent City | 108.4 |
| 10 | Jacob Standfest | 20:23.0 | Rockford | 108.3 |
| 11 | Yalmaz Javaid | 20:23.7 | Hudsonville | 108.1 |
| 10 | Owen Pfeiffer | 20:23.9 | Galesburg-Augusta | 108.0 |
| 9 | Lucas Kranzusch | 20:24.1 | Grandville | 108.0 |
| 10 | Lucas Bronson | 20:24.2 | Allendale | 107.9 |
| 9 | Sam Taylor | 20:24.8 | Zeeland West | 107.7 |
| 9 | Clark Douglas | 20:25.1 | Bridgman | 107.6 |
| 10 | Devon Lauters | 20:25.1 | Grandville | 107.6 |
| 10 | Jeff Dewitt | 20:25.3 | Zeeland East | 107.6 |
| 12 | Jason Bos | 20:25.7 | Holland Christian | 107.4 |
| 11 | Ruben Spencer | 20:26.0 | Grass Lake | 107.3 |
| 9 | Ryder Cornett | 20:26.1 | Jonesville | 107.3 |
| 12 | Keagan Papke | 20:26.1 | New Buffalo | 107.3 |
| 9 | David Jacobs | 20:26.9 | GR_South Christian | 107.0 |
| 10 | Kelvin Kepler | 20:27.0 | Grandville | 107.0 |
| 10 | Julian Barry | 20:27.1 | Kalamazoo Hackett | 107.0 |
| 11 | Alden Tait | 20:27.2 | Clare | 106.9 |
| 11 | Micah Norris | 20:27.2 | Kalamazoo Christian | 106.9 |
| 11 | Jacob Brouwer | 20:27.4 | Kalamazoo Christian | 106.9 |
| 9 | Justin Jensen | 20:27.4 | Whitehall | 106.9 |
| 9 | Austin Walden | 20:27.6 | Constantine | 106.8 |
| 9 | Liam McCaw | 20:27.8 | Maple City Glen Lake | 106.7 |
| 9 | Rhys Orth | 20:28.1 | Cassopolis Ross Beatty | 106.6 |
| 9 | Henry Elzinga | 20:28.1 | GR_West Michigan Aviation | 106.6 |
| 12 | Dale VanBaren | 20:28.2 | GR_Covenant Christian | 106.6 |
| 12 | Michael Gottleber | 20:28.5 | Cadillac | 106.5 |
| 10 | Bryce Bales | 20:28.8 | Dexter | 106.4 |
| 9 | Jack Paulsen | 20:28.9 | Grandville | 106.4 |
| 12 | Levi VanderSloot | 20:29.1 | GR_Christian | 106.3 |
| 9 | Eliot Pavlik | 20:29.1 | Kalamazoo Loy Norrix | 106.3 |
| 10 | Weston Carpenter | 20:29.3 | Spring Lake | 106.2 |
| 9 | John Gibson | 20:29.5 | St. Joseph | 106.2 |
| 11 | Ronan Marsh | 20:30.0 | St. Joseph Our Lady of the Lake Catholic | 106.0 |
| 10 | Nathan Waldron | 20:30.3 | GR_West Michigan Aviation | 105.9 |
| 11 | Alexander Bunker | 20:30.5 | FHN GR_Forest Hills Northern | 105.8 |
| 10 | Abraham Jager | 20:30.6 | GR_West Michigan Aviation | 105.8 |
| 11 | Ethan Wait | 20:31.0 | Gobles | 105.7 |
| 10 | Connor Candler | 20:31.0 | Schoolcraft | 105.7 |
| 12 | Matt Bouwhuis | 20:31.1 | GR_West Catholic | 105.6 |
| 9 | Brodie Daam | 20:31.2 | Paw Paw | 105.6 |
| 11 | Jadon Ryman | 20:31.4 | Newaygo | 105.5 |
| 9 | Lucas Pastucha | 20:31.9 | Muskegon Mona Shores | 105.4 |
| 11 | Joel Hardesty | 20:32.0 | Big Rapids | 105.3 |
| 9 | Jaxon Sena | 20:32.1 | Allendale | 105.3 |
| 10 | Isaac Primm | 20:32.5 | Spring Lake | 105.2 |
| 10 | Levi Whitehead | 20:32.6 | Dexter | 105.1 |
| 10 | Carlos Ruiz | 20:32.9 | Hartford | 105.0 |
| 12 | Everett Pendergrass | 20:33.4 | Parma Western | 104.9 |
| 12 | Conner Larson | 20:33.4 | Portage Central | 104.9 |
| 12 | Jason Miller | 20:33.9 | Potterville | 104.7 |
| 10 | Chase Missler | 20:34.1 | Monroe St. Mary CC | 104.6 |
| 9 | Cole Hansen | 20:34.1 | Muskegon Mona Shores | 104.6 |
| 9 | Bayden Brunstetter | 20:34.2 | Portage Northern | 104.6 |
| 9 | Will Pennington | 20:34.3 | Hudsonville | 104.6 |
| 10 | Brody Severin | 20:34.8 | Eau Claire | 104.4 |
| 9 | Charlie Brauer | 20:35.0 | Three Rivers | 104.3 |
| 9 | Parker Volstorf | 20:35.5 | Three Oaks River Valley | 104.2 |
| 9 | Jack Loomis | 20:35.7 | Bangor | 104.1 |
| 12 | Aidan Broadworth | 20:35.8 | Milan | 104.1 |
| 11 | Lucian Shoup | 20:36.3 | Richland Gull Lake | 103.9 |
| 10 | Landon Whitehead | 20:36.4 | Dexter | 103.9 |
| 10 | Grant Cure | 20:36.7 | Hanover-Horton | 103.8 |
| 11 | David Fielder | 20:36.8 | Hanover-Horton | 103.7 |
| 9 | Ryan Grevengoed | 20:36.8 | Spring Lake | 103.7 |
| 12 | Liam Miller | 20:37.7 | Jackson Lumen Christi | 103.4 |
| 9 | Joe Anderson | 20:37.8 | Traverse City St. Francis | 103.4 |
| 11 | Dominic Cranmer | 20:38.0 | Zeeland West | 103.3 |
| 9 | Troyer Serna | 20:38.2 | Three Rivers | 103.3 |
| 11 | Rhys Bedford | 20:38.5 | Delton-Kellogg | 103.2 |
| 12 | Nathan Robke | 20:38.8 | Dexter | 103.1 |
| 9 | Jack Bell | 20:38.9 | Edwardsburg | 103.0 |
| 11 | Liam VanHouten | 20:38.9 | Hudsonville | 103.0 |
| 12 | Tjorven Snook | 20:39.1 | Holland West Ottawa | 103.0 |
| 11 | Ryan Lindemann | 20:39.5 | Milan | 102.8 |
| 11 | Kip Tanui | 20:39.7 | GR_South Christian | 102.8 |
| 9 | Ben Bouws | 20:39.8 | Holland Christian | 102.7 |
| 12 | Tristan Simrau | 20:39.9 | TC West (Traverse City) | 102.7 |
| 11 | Carter Tufts | 20:40.0 | Caledonia | 102.7 |
| 11 | Mason Laurin | 20:40.3 | Stevensville Lakeshore | 102.6 |
| 10 | Cameron Weibel | 20:40.5 | Caledonia | 102.5 |
| 12 | Ryan Karwowski | 20:40.5 | Rockford | 102.5 |
| 11 | Kaeden Lies | 20:40.6 | Stevensville Lakeshore | 102.5 |
| 10 | Jack Stoddard | 20:40.7 | TC West (Traverse City) | 102.4 |
| 12 | Luke DeLange | 20:40.9 | GR_South Christian | 102.4 |
| 9 | Michael Dummer | 20:41.0 | Holland West Ottawa | 102.3 |
| 10 | Liam Adkins | 20:41.1 | Stevensville Lakeshore | 102.3 |
| 11 | Ethan Le | 20:41.2 | East Kentwood | 102.3 |
| 11 | Owen Hayes | 20:41.2 | GR_Covenant Christian | 102.3 |
| 10 | Parker Razelun | 20:41.8 | Ann Arbor Skyline | 102.1 |
| 12 | Ethan Olds | 20:41.9 | Howard City-Tri-County | 102.0 |
| 11 | Parker Moore | 20:42.1 | Hudsonville | 102.0 |
| 12 | Zach Keiser | 20:42.2 | Gaylord | 101.9 |
| 12 | Jacob Atteberry | 20:42.3 | Mattawan | 101.9 |
| 9 | Teagen Kitchen | 20:42.4 | FHN GR_Forest Hills Northern | 101.9 |
| 9 | Isaac Rubin | 20:42.5 | Kalamazoo Loy Norrix | 101.8 |
| 10 | Evan Murphy | 20:42.9 | GR_West Catholic | 101.7 |
| 9 | Nate Thill | 20:43.1 | Portage Central | 101.6 |
| 10 | Caleb Hirwa | 20:43.4 | Kalamazoo Central | 101.5 |
| 9 | Adam Lipinski | 20:43.5 | Allendale | 101.5 |
| 10 | Todd Faber | 20:43.6 | GR_South Christian | 101.5 |
| 10 | Joel Hoppe | 20:43.8 | Holland West Ottawa | 101.4 |
| 11 | Noah Phillips | 20:43.9 | Dowagiac Union | 101.4 |
| 12 | Kamdyn Hawkins | 20:44.0 | FHC GR_Forest Hills Central | 101.3 |
| 12 | Davis Laubaugh | 20:44.0 | Grandville | 101.3 |
| 10 | Frankie Pelak | 20:44.3 | GR_West Catholic | 101.2 |
| 10 | Josh Odell | 20:44.5 | Bloomingdale | 101.2 |
| 10 | Derek Christner | 20:44.6 | GR_West Michigan Aviation | 101.1 |
| 10 | Case Dykhouse | 20:44.6 | Middleville Thornapple-Kellogg | 101.1 |
| 9 | Logan Kilbreath | 20:44.8 | Grant | 101.1 |
| 11 | Caleb Boersen | 20:45.1 | St. Joseph | 101.0 |
| 11 | Elijah Peterson | 20:45.2 | FHE Ada Forest Hills Eastern | 100.9 |
| 10 | Evan Liu | 20:45.4 | Middleville Thornapple-Kellogg | 100.9 |
| 10 | Emmet Lorenz | 20:45.5 | St. Joseph | 100.8 |
| 10 | Kaleb Chisholm | 20:45.8 | Frankfort | 100.7 |
| 11 | Luke Lindsay | 20:46.4 | Monroe | 100.5 |
| 9 | Matthew Badley | 20:46.7 | Whitehall | 100.4 |
| 12 | Brent Smith | 20:47.2 | FHE Ada Forest Hills Eastern | 100.3 |
| 9 | Finn Halvas | 20:47.3 | Portage Northern | 100.2 |
| 12 | Mitchell Winks | 20:48.9 | GR_Christian | 99.7 |
| 12 | Josiah Lammers | 20:49.4 | GR_NorthPointe Christian | 99.5 |
| 10 | Joshua Barr | 20:49.4 | GR_South Christian | 99.5 |
| 9 | Slade Hellard | 20:49.5 | Concord | 99.5 |
| 11 | Jeremiah Ward | 20:49.6 | Berrien Springs | 99.5 |
| 12 | Max Lawrence | 20:49.6 | GR_West Michigan Aviation | 99.5 |
| 10 | Blake Cabble | 20:49.7 | Dexter | 99.4 |
| 9 | Leonel Muss | 20:49.9 | FHN GR_Forest Hills Northern | 99.4 |
| 10 | Ricky George | 20:50.5 | Mattawan | 99.2 |
| 12 | Donovan Blum | 20:52.1 | Centreville | 98.6 |
| 11 | Ashton Easterwood | 20:52.2 | Concord | 98.6 |
| 11 | Lance Helfer | 20:53.2 | Shepherd | 98.3 |
| 10 | Wes Summerhill | 20:53.3 | Bangor | 98.2 |
| 10 | Cayden Apol | 20:53.5 | Hudsonville | 98.2 |
| 11 | Parker Hume | 20:54.8 | St. Joseph | 97.7 |
| 9 | Benjamin Postma | 20:55.3 | Middleville Thornapple-Kellogg | 97.6 |
| 11 | Lukas Wierenga | 20:55.8 | Hudsonville Unity Christian | 97.4 |
| 10 | Hunter Hoover | 20:55.9 | Remus Chippewa Hills | 97.4 |
| 9 | Connor Siglow | 20:56.3 | St. Joseph Our Lady of the Lake Catholic | 97.2 |
| 9 | Jonathan Kmiecik | 20:56.9 | Bear Lake-Onekama | 97.0 |
| 9 | Landon Koole | 20:56.9 | GR_Covenant Christian | 97.0 |
| 10 | Eric Cameron | 20:57.0 | Chelsea | 97.0 |
| 9 | Damien Martinez | 20:57.1 | Kalamazoo Hackett | 97.0 |
| 11 | Derrick Freehling | 20:57.3 | Three Oaks River Valley | 96.9 |
| 10 | Owen Brickner | 20:57.6 | Shepherd | 96.8 |
| 9 | Tobin Moo | 20:58.2 | East Grand Rapids | 96.6 |
| 11 | Nick Doer | 20:58.3 | Kalamazoo Hackett | 96.6 |
| 9 | Cade Tustin | 20:58.9 | Richland Gull Lake | 96.4 |
| 9 | Lars Hanson | 20:59.6 | Cadillac | 96.1 |
| 10 | Braiden Renfer | 20:59.8 | Parma Western | 96.1 |
| 12 | Charlie Wester | 21:00.4 | Vicksburg | 95.9 |
| 11 | Matthias Hams | 21:00.5 | Whitehall | 95.8 |
| 9 | Elijah Thompson | 21:00.8 | Kalamazoo Central | 95.7 |
| 9 | Clayton Peacock | 21:00.9 | Clare | 95.7 |
| 12 | Josh Hector | 21:01.0 | Grandville | 95.7 |
| 10 | Jakob Terpstra | 21:01.4 | FHC GR_Forest Hills Central | 95.5 |
| 9 | Jack Kubas | 21:01.4 | Portage Central | 95.5 |
| 12 | Michael VanderKolk | 21:02.5 | GR_Covenant Christian | 95.2 |
| 9 | Jacob Penna | 21:03.8 | GR_Covenant Christian | 94.7 |
| 10 | Logan Face | 21:04.0 | Kingsley | 94.7 |
| 9 | Marlowe Hartnett | 21:04.1 | Ann Arbor Skyline | 94.6 |
| 9 | Christopher Peterson | 21:04.8 | Gaylord | 94.4 |
| 10 | Grant Schumm | 21:04.8 | Three Oaks River Valley | 94.4 |
| 9 | Dean Wegner | 21:04.9 | Buchanan | 94.4 |
| 11 | Ethan Shealy | 21:05.4 | Grandville | 94.2 |
| 11 | Maikhoi Christensen | 21:05.7 | East Kentwood | 94.1 |
| 12 | Ethan Slock | 21:05.7 | Kent City | 94.1 |
| 9 | Ben VanLoo | 21:05.7 | Mattawan | 94.1 |
| 9 | Caleb Forward | 21:06.0 | Bear Lake-Onekama | 94.0 |
| 9 | Trevin Warner | 21:06.3 | Parma Western | 93.9 |
| 12 | George Murphy | 21:07.0 | East Grand Rapids | 93.7 |
| 10 | Dylan Leyendecker | 21:07.5 | Hudsonville | 93.5 |
| 9 | Kyle Vincent | 21:07.9 | Benzie Central | 93.4 |
| 9 | Colin Pattison | 21:08.2 | FHE Ada Forest Hills Eastern | 93.3 |
| 10 | Brant Maley | 21:09.3 | Chelsea | 92.9 |
| 12 | John Muckle | 21:10.0 | Chelsea | 92.7 |
| 11 | Ethan Peterson | 21:10.0 | Richland Gull Lake | 92.7 |
| 9 | Levi Beltman | 21:10.9 | Grand River Prep | 92.4 |
| 10 | Noah DeRosia | 21:11.2 | Caledonia | 92.3 |
| 11 | Ben Tripp | 21:11.2 | New Buffalo | 92.3 |
| 10 | Rylan Bachman | 21:11.9 | Cadillac | 92.0 |
| 9 | Levi Boomsma | 21:12.0 | GR_South Christian | 92.0 |
| 9 | Jeffrey Brink | 21:12.1 | Hudsonville | 92.0 |
| 11 | Collin Featherstone | 21:13.0 | Constantine | 91.7 |
| 9 | Jack Malloy | 21:13.1 | Big Rapids | 91.6 |
| 9 | Jerome Fate | 21:14.0 | Petoskey St. Michael | 91.3 |
| 9 | Ayden Fisher | 21:14.7 | FHC GR_Forest Hills Central | 91.1 |
| 10 | Adam Vander Hart | 21:14.7 | GR_South Christian | 91.1 |
| 8 | Connor Banyon | 21:15.2 | St. Joseph Our Lady of the Lake Catholic | 90.9 |
| 10 | Seth Plummer | 21:15.5 | Hillsdale Academy | 90.8 |
| 11 | Carter Barker | 21:15.8 | Heritage Christian Academy | 90.7 |
| 9 | Easton Nowak | 21:16.2 | Bear Lake-Onekama | 90.6 |
| 10 | Joshua Bott | 21:16.3 | GR_West Michigan Aviation | 90.6 |
| 9 | Lucas Korsmo | 21:16.8 | GR_West Michigan Aviation | 90.4 |
| 12 | Wesley Vis | 21:17.0 | GR_West Michigan Aviation | 90.3 |
| 10 | Aristotle Vyn | 21:17.2 | GR_West Michigan Aviation | 90.3 |
| 10 | Matthew McGill | 21:17.3 | Dexter | 90.2 |
| 9 | Carter Bolhouse | 21:17.4 | Hudsonville | 90.2 |
| 10 | Ben Warriner | 21:18.2 | Jackson Lumen Christi | 89.9 |
| 9 | Riley Thomas | 21:18.3 | Portage Central | 89.9 |
| 12 | Aurelio Delgado | 21:18.9 | Hartford | 89.7 |
| 12 | Andrei Derental | 21:19.0 | Gaylord | 89.7 |
| 9 | Domenico Fantozzi | 21:19.0 | Petoskey St. Michael | 89.7 |
| 12 | Andrew Harms | 21:19.3 | Chelsea | 89.6 |
| 10 | Patrick Vance | 21:20.4 | Kalamazoo Christian | 89.2 |
| 11 | David Francis | 21:21.2 | FHE Ada Forest Hills Eastern | 88.9 |
| 11 | Nick Renner | 21:21.3 | Howard City-Tri-County | 88.9 |
| 9 | Andrew Newenhouse | 21:21.4 | Grandville Calvin Christian | 88.9 |
| 11 | Michael Featherstone | 21:21.8 | Constantine | 88.7 |
| 10 | Reed Remington | 21:22.0 | Bloomingdale | 88.7 |
| 11 | Ryan Driscoll | 21:22.4 | Three Oaks River Valley | 88.5 |
| 10 | Josh Lipscomb | 21:22.5 | Grandville | 88.5 |
| 9 | Cole Stockwell | 21:22.7 | St. Clair | 88.4 |
| 12 | Aydan Vandyk | 21:23.1 | FHN GR_Forest Hills Northern | 88.3 |
| 10 | Ian Schuiling | 21:24.7 | Kent City | 87.8 |
| 11 | Chris Coffer | 21:25.2 | Dexter | 87.6 |
| 11 | Kyler Behrenwald | 21:25.5 | Lakeview | 87.5 |
| 10 | Bennett Garton | 21:25.7 | Traverse City St. Francis | 87.4 |
| 10 | Brandon Rasmussen | 21:25.8 | Fremont | 87.4 |
| 10 | Noah Tillman | 21:26.6 | Zeeland East | 87.1 |
| 11 | Keegan Gallagher | 21:26.8 | Kalamazoo Hackett | 87.1 |
| 11 | Mark Welsch | 21:27.2 | Edwardsburg | 86.9 |
| 10 | Michael Dickinson | 21:28.1 | Grand Traverse Academy | 86.6 |
| 9 | Gabrial Miller | 21:30.4 | Hastings | 85.9 |
| 9 | Kyle Krasnan | 21:30.5 | Ann Arbor Skyline | 85.8 |
| 11 | Brayden Czarnecki | 21:30.5 | Jenison | 85.8 |
| 9 | Dylan Hile | 21:30.8 | Leslie | 85.7 |
| 9 | Jack Monterusso | 21:31.0 | FHC GR_Forest Hills Central | 85.7 |
| 10 | Micah Winchell | 21:31.1 | Ann Arbor Skyline | 85.6 |
| 9 | Liem Krueger | 21:31.2 | FHE Ada Forest Hills Eastern | 85.6 |
| 12 | Bryce Grugett | 21:32.0 | Newaygo | 85.3 |
| 10 | Jacob Stines | 21:32.3 | Buchanan | 85.2 |
| 10 | Ezariah Coroama | 21:32.3 | Holland Christian | 85.2 |
| 11 | Kameron Smith | 21:32.6 | Watervliet | 85.1 |
| 12 | Brandon Persons | 21:32.7 | Lawton | 85.1 |
| 9 | Nick Muday | 21:32.9 | Delton-Kellogg | 85.0 |
| 9 | Haydn Perkins | 21:33.1 | Paw Paw | 85.0 |
| 9 | Cole Grundy | 21:34.5 | Clare | 84.5 |
| 9 | Leo Gianni | 21:34.5 | Stevensville Lakeshore | 84.5 |
| 10 | Marty Watson | 21:35.9 | Dexter | 84.0 |
| 12 | Bryce Hallberg | 21:36.0 | Spring Lake | 84.0 |
| 9 | Corbin Barker | 21:36.2 | Allendale | 83.9 |
| 10 | Joshua Maier | 21:36.2 | Caledonia | 83.9 |
| 9 | Maysun Strachan | 21:36.3 | Jonesville | 83.9 |
| 9 | Charles Duong | 21:36.7 | Grand River Prep | 83.8 |
| 11 | Daniel Zheng | 21:36.7 | Jenison | 83.8 |
| 10 | Patrick (PJ) Carty | 21:38.1 | Dexter | 83.3 |
| 10 | Sebastian Rissley | 21:38.3 | Caledonia | 83.2 |
| 10 | Gabe Shulaw | 21:38.6 | Hartford | 83.1 |
| 9 | Levi Brooks | 21:39.0 | Lawton | 83.0 |
| 10 | Nick Huizinga | 21:39.2 | Grandville Calvin Christian | 82.9 |
| 10 | Luke Groenheide | 21:39.3 | Holland Christian | 82.9 |
| 11 | Preston Foster | 21:39.9 | Breckenridge | 82.7 |
| 11 | Brendan McIntyre | 21:40.8 | Traverse City St. Francis | 82.4 |
| 9 | Benjamin Huffine | 21:41.4 | East Kentwood | 82.2 |
| 9 | Brendan Sre | 21:42.7 | Centreville | 81.8 |
| 10 | Colin Moran | 21:43.9 | Jackson Lumen Christi | 81.4 |
| 9 | Sam DeYoung | 21:44.3 | GR_Christian | 81.2 |
| 9 | Dan Maes | 21:45.0 | Richland Gull Lake | 81.0 |
| 9 | Corbin Bender | 21:46.3 | Kingsley | 80.6 |
| 10 | Owen Holman | 21:46.4 | Bay City Western | 80.5 |
| 9 | Levi Sterk | 21:46.4 | Kingsley | 80.5 |
| 9 | Gavin Ayers | 21:46.6 | Edwardsburg | 80.5 |
| 10 | Aiden Apreza | 21:47.0 | Hartford | 80.3 |
| 9 | William Hillary | 21:47.4 | FHN GR_Forest Hills Northern | 80.2 |
| 10 | Jacob Hector | 21:47.7 | Grandville | 80.1 |
| 10 | Adam Potjer | 21:47.8 | GR_Covenant Christian | 80.1 |
| 12 | Holden Kubiszak | 21:48.0 | Paw Paw | 80.0 |
| 9 | Edward Wuerthele | 21:48.3 | FHN GR_Forest Hills Northern | 79.9 |
| 11 | Julian Snelling | 21:48.5 | Ann Arbor Pioneer | 79.8 |
| 12 | Riley Truog | 21:48.6 | Maple City Glen Lake | 79.8 |
| 9 | Andrew Nutt | 21:49.1 | Ann Arbor Pioneer | 79.6 |
| 12 | Luke Sherwood | 21:49.9 | Buchanan | 79.4 |
| 9 | Owen Riggenbach | 21:50.5 | Niles | 79.2 |
| 9 | Sam Tripp | 21:50.6 | New Buffalo | 79.1 |
| 12 | Rowan Kile | 21:51.0 | Buchanan | 79.0 |
| 10 | Nicholas Wynsma | 21:51.3 | GR_West Michigan Aviation | 78.9 |
| 11 | Anthony Castillo | 21:51.4 | Grant | 78.9 |
| 10 | James Bradley | 21:51.8 | Hanover-Horton | 78.7 |
| 11 | Declan Raimer | 21:52.1 | Grandville | 78.6 |
| 9 | Tobin Allen | 21:52.2 | Grand Traverse Academy | 78.6 |
| 9 | Calieb McCarty | 21:53.2 | Big Rapids | 78.3 |
| 11 | Cayden Dewitt | 21:53.6 | Grass Lake | 78.1 |
| 9 | Nate Dix | 21:53.7 | Grand Traverse Academy | 78.1 |
| 9 | Anthony Bunker | 21:53.8 | FHN GR_Forest Hills Northern | 78.1 |
| 9 | Luke McDonell | 21:54.3 | St. Clair | 77.9 |
| 9 | Raiden Sternquist | 21:54.6 | Remus Chippewa Hills | 77.8 |
| 9 | Wyatt Stein | 21:54.9 | Johannesburg-Lewiston | 77.7 |
| 10 | Ty Edwards | 21:55.5 | Schoolcraft | 77.5 |
| 10 | Henry Stone | 21:56.2 | Grandville | 77.3 |
| 12 | Ken Asawalittiprom | 21:56.2 | Three Rivers | 77.3 |
| 10 | Lucas Licari | 21:58.8 | Grandville | 76.4 |
| 11 | Tyler Watson | 21:58.8 | Hudsonville | 76.4 |
| 9 | Ethan Quibell | 21:59.6 | East Kentwood | 76.1 |
| 10 | Zachary McPherson | 22:00.3 | Parchment | 75.9 |
| 9 | Andrew Cary | 22:00.5 | Holland Calvary Christian | 75.8 |
| 10 | Ryan Hatfield | 22:00.7 | FHC GR_Forest Hills Central | 75.8 |
| 10 | Alex Watson | 22:00.8 | Dexter | 75.7 |
| 11 | Ben Schoonmaker | 22:00.9 | Saugatuck | 75.7 |
| 11 | Zach Regis | 22:01.3 | Richland Gull Lake | 75.6 |
| – | Anthony Jasheway | 22:01.4 | St. Joseph Our Lady of the Lake Catholic | 75.5 |
| 9 | Aren Gay | 22:01.9 | Richland Gull Lake | 75.4 |
| 11 | Ezekiel Fenstermaker | 22:02.3 | Heritage Christian Academy | 75.2 |
| 9 | Griffin Olson | 22:03.4 | Benzie Central | 74.9 |
| 9 | Cole Cannon | 22:03.9 | Gobles | 74.7 |
| 9 | Kalvin Louie | 22:04.1 | Bridgman | 74.6 |
| 9 | Sean Davis | 22:04.5 | Cedar Springs | 74.5 |
| 9 | Dennis Frazier | 22:04.8 | Watervliet | 74.4 |
| 9 | Jonathan Kellogg | 22:05.8 | Caledonia | 74.1 |
| 11 | Grayden Boven | 22:06.5 | GR_Covenant Christian | 73.8 |
| 12 | Chase Bates | 22:08.2 | Constantine | 73.3 |
| 12 | Gabe Overbeek | 22:09.4 | GR_Covenant Christian | 72.9 |
| 9 | Tyler Smith | 22:10.3 | Lawton | 72.6 |
| 11 | Matthew Frasier | 22:10.6 | Hart | 72.5 |
| 9 | Trap Abbott | 22:10.8 | Bangor | 72.4 |
| 9 | Dylan Duimstra | 22:10.9 | Hudsonville Unity Christian | 72.4 |
| 11 | Michael Bell | 22:11.0 | Grand Traverse Academy | 72.3 |
| 10 | Brandon Weber | 22:11.1 | Hudsonville Unity Christian | 72.3 |
| 9 | Kylan Corbin | 22:11.6 | Portage Northern | 72.1 |
| 12 | Luke Schoonmaker | 22:11.7 | Saugatuck | 72.1 |
| 12 | Donny Mitschke | 22:11.8 | Potterville | 72.1 |
| 11 | Kenneth Vastine | 22:12.0 | Hastings | 72.0 |
| 9 | Sihun You | 22:12.3 | Ann Arbor Pioneer | 71.9 |
| 12 | Preston Froehlch | 22:13.2 | Milan | 71.6 |
| 9 | Zach Danes | 22:13.3 | Bloomingdale | 71.6 |
| 9 | Ethan Butler | 22:13.6 | TC West (Traverse City) | 71.5 |
| 10 | Jaxon Pipe | 22:13.8 | GR_Covenant Christian | 71.4 |
| 9 | Robert Brown | 22:14.1 | Benzie Central | 71.3 |
| 11 | Jackson Krzycki | 22:15.1 | Marcellus | 71.0 |
| 10 | Brady Kraegel | 22:15.2 | Portage Northern | 70.9 |
| 11 | Nathan Garrity | 22:16.2 | Stevensville Lakeshore | 70.6 |
| 10 | Weston Kinney | 22:16.9 | Grand Traverse Academy | 70.4 |
| 9 | Logan Flores | 22:16.9 | Parma Western | 70.4 |
| 9 | Clayton Ramsdell | 22:17.4 | Zeeland West | 70.2 |
| 12 | Cooper White | 22:17.5 | St. Joseph | 70.2 |
| 9 | Josiah Muller | 22:17.9 | Zeeland East | 70.0 |
| 9 | DJ Sehy | 22:18.0 | Vicksburg | 70.0 |
| 10 | Elijah Maitland | 22:18.3 | Grass Lake | 69.9 |
| 11 | Leo Kleff | 22:18.7 | FHE Ada Forest Hills Eastern | 69.8 |
| 10 | Blake Jewett | 22:18.7 | Grandville Calvin Christian | 69.8 |
| 11 | Landon Hershey | 22:20.1 | Muskegon Mona Shores | 69.3 |
| 9 | Brady Fanco | 22:20.3 | Caledonia | 69.2 |
| 9 | Jakoby Moore | 22:20.7 | Zeeland West | 69.1 |
| 10 | Colin Taylor | 22:21.4 | Hanover-Horton | 68.9 |
| 10 | Cole Claire | 22:21.6 | Edwardsburg | 68.8 |
| 10 | McKai Henry | 22:21.7 | Benzie Central | 68.8 |
| 10 | Aidan Petik | 22:22.0 | Dexter | 68.7 |
| 10 | Izaak Mallo | 22:22.9 | Three Rivers | 68.4 |
| 10 | Davion Garrison | 22:23.3 | Chelsea | 68.2 |
| 12 | Lucca Rossini | 22:24.0 | Chelsea | 68.0 |
| 10 | Graham Hislop | 22:24.2 | TC West (Traverse City) | 67.9 |
| 9 | Trevor Hayes | 22:24.8 | GR_Covenant Christian | 67.7 |
| 9 | Colton Riggenbach | 22:24.8 | Niles | 67.7 |
| 10 | Bradyn Bouma | 22:25.5 | GR_South Christian | 67.5 |
| 10 | Kayden Kangas | 22:25.5 | Morley-Stanwood | 67.5 |
| 9 | Noah Jenkins | 22:25.6 | Hudsonville | 67.5 |
| 10 | Benjamin Ault | 22:25.7 | Rockford | 67.4 |
| 9 | Alex Saavedra | 22:25.9 | East Kentwood | 67.4 |
| 10 | Tucker Arrend | 22:26.4 | Coloma | 67.2 |
| 10 | Gaven Cornell | 22:27.4 | Morley-Stanwood | 66.9 |
| 10 | Owen Rowell | 22:28.8 | Hudsonville | 66.4 |
| 9 | Austin Hunter | 22:29.2 | Mattawan | 66.3 |
| 9 | Cooper Rice | 22:29.5 | Berrien Springs | 66.2 |
| 11 | Isaac Isham | 22:30.0 | Springport | 66.0 |
| 9 | Anthony Levandoski | 22:31.0 | Rockford | 65.7 |
| 9 | Isaiah Greenacre | 22:31.7 | Mt. Pleasant Sacred Heart | 65.4 |
| 11 | Warren Pietryka | 22:32.5 | Milan | 65.2 |
| 11 | Seojin Yeo | 22:32.7 | Muskegon Western Mich. Christian | 65.1 |
| 10 | Enzo Haqq | 22:33.3 | South Haven | 64.9 |
| 12 | Joshua Hurt | 22:34.4 | East Kentwood | 64.5 |
| 9 | Robert Lenza | 22:34.7 | Hartford | 64.4 |
| 12 | Adam Spees | 22:35.0 | Caledonia | 64.3 |
| 11 | Harry Birzer | 22:36.4 | Hillsdale Academy | 63.9 |
| 9 | Elliot Burnash | 22:36.8 | Portage Central | 63.7 |
| 11 | Cameron Russell | 22:37.3 | Ann Arbor Pioneer | 63.6 |
| 12 | Jayce Arend | 22:37.5 | Eau Claire | 63.5 |
| 10 | Tyler Sweat | 22:37.5 | Monroe | 63.5 |
| 12 | Brandon Wayburn | 22:37.7 | St. Clair | 63.4 |
| 12 | Zach Heikka | 22:38.1 | Milan | 63.3 |
| 9 | Luke Herder | 22:39.2 | GR_South Christian | 62.9 |
| 9 | Blake Thompson | 22:39.2 | Grandville | 62.9 |
| 12 | Andrew Letter | 22:40.7 | Edwardsburg | 62.4 |
| 10 | Michael Sager Wissner | 22:40.7 | Middleville Thornapple-Kellogg | 62.4 |
| 11 | Tucker Wolf | 22:41.4 | Hudsonville | 62.2 |
| 11 | Hlib Kuzmenko | 22:42.0 | GR_West Catholic | 62.0 |
| 11 | Zach Pelfrey | 22:42.1 | Potterville | 62.0 |
| 11 | Devin Geisler | 22:42.1 | Watervliet | 62.0 |
| 11 | Donovan Miller | 22:42.5 | Constantine | 61.8 |
| 11 | William Venneman | 22:42.6 | FHN GR_Forest Hills Northern | 61.8 |
| 9 | Milo Varnum | 22:44.1 | Ann Arbor Pioneer | 61.3 |
| 10 | Coby Price | 22:44.4 | East Kentwood | 61.2 |
| 11 | Ben Post | 22:47.0 | Zeeland East | 60.3 |
| 9 | Dontrel Taylor | 22:47.5 | Three Rivers | 60.2 |
| 11 | Evan Jewett | 22:47.6 | Bloomingdale | 60.1 |
| 10 | Loki Bowser | 22:49.3 | Ann Arbor Skyline | 59.6 |
| 10 | Joey Neuman | 22:49.5 | Mattawan | 59.5 |
| 12 | Henry Bair | 22:49.6 | Boyne City | 59.5 |
| 12 | Noah Duffner | 22:50.0 | East Grand Rapids | 59.3 |
| 10 | Zane Vorva | 22:50.2 | Parchment | 59.3 |
| 10 | Evan Schrier | 22:50.4 | Hudsonville Unity Christian | 59.2 |
| 10 | Brody Benjamin | 22:52.0 | Caledonia | 58.7 |
| 12 | Jonathan Phillips | 22:52.6 | Dowagiac Union | 58.5 |
| 10 | T’Mon Coleman | 22:52.8 | Kalamazoo Central | 58.4 |
| 11 | Alex Stocke | 22:53.6 | Zeeland West | 58.1 |
| 11 | Charlie Lutz | 22:53.8 | Dexter | 58.1 |
| 10 | Josh Cotts | 22:54.5 | Ann Arbor Pioneer | 57.8 |
| 11 | Austin Birner | 22:54.5 | Bangor | 57.8 |
| 9 | Cameron Kidwell | 22:55.0 | Hudsonville | 57.7 |
| 11 | Josiah Fuller | 22:55.4 | Richland Gull Lake | 57.5 |
| 12 | Asher Boekestein | 22:55.5 | Heritage Christian Academy | 57.5 |
| 12 | Brian Underhill II | 22:57.4 | Zeeland West | 56.9 |
| 10 | Marcus Silva | 22:58.6 | Dexter | 56.5 |
| 10 | Dylan Danner | 22:58.6 | Schoolcraft | 56.5 |
| 9 | Gabe Arredondo | 22:58.7 | Zeeland West | 56.4 |
| 10 | Elijah Stevens | 22:58.9 | Grandville | 56.4 |
| 10 | Uriah Canfield | 23:00.1 | Grand Traverse Academy | 56.0 |
| 10 | Noah Reinsma | 23:00.8 | Hudsonville | 55.7 |
| 9 | Noah Ysasi | 23:01.2 | GR_West Catholic | 55.6 |
| 9 | Jacob Gallagher | 23:01.3 | Leslie | 55.6 |
| 9 | Cason Adams | 23:02.8 | Maple City Glen Lake | 55.1 |
| 11 | Alden Grob | 23:07.0 | Ann Arbor Skyline | 53.7 |
| 12 | Franc Ortega | 23:07.3 | Muskegon Western Mich. Christian | 53.6 |
| 9 | Leo Hall | 23:07.9 | Spring Lake | 53.4 |
| 9 | Damien Allen | 23:09.1 | East Kentwood | 53.0 |
| 10 | Koen Huisman | 23:09.5 | Grand River Prep | 52.8 |
| 9 | Devon Simpson | 23:10.3 | Buchanan | 52.6 |
| 11 | Tyler Reeves | 23:11.0 | Niles | 52.3 |
| 10 | Hogan Walter | 23:11.5 | Clare | 52.2 |
| 9 | William Selleck | 23:12.0 | FHN GR_Forest Hills Northern | 52.0 |
| 9 | Aidan Vermeulen | 23:12.2 | Hudsonville | 51.9 |
| 10 | Cole Schmidt | 23:12.2 | Hudsonville Unity Christian | 51.9 |
| 11 | Chevy Vanderlaan | 23:12.4 | Spring Lake | 51.9 |
| 10 | Nathan Ritter | 23:13.2 | Niles | 51.6 |
| 10 | Kyle Bouck | 23:14.0 | Remus Chippewa Hills | 51.3 |
| 11 | Cameron Handwerker | 23:14.7 | Rockford | 51.1 |
| 12 | Brodie McQuillan | 23:16.1 | Coloma | 50.6 |
| 10 | Luka Lagina | 23:16.2 | Parchment | 50.6 |
| 11 | Isaac Murray | 23:18.7 | Schoolcraft | 49.8 |
| 10 | Kardierre Williams | 23:19.7 | Kalamazoo Central | 49.4 |
| 12 | Caleb Sweeney | 23:20.3 | Buchanan | 49.2 |
| 12 | Jack Ganzel | 23:20.6 | Parma Western | 49.1 |
| 10 | Brennan Piper | 23:22.1 | Constantine | 48.6 |
| 9 | Will Ryan | 23:23.0 | Monroe St. Mary CC | 48.3 |
| 11 | Caleb Leppelmeier | 23:24.5 | Edwardsburg | 47.8 |
| 9 | Isaac Whipple | 23:25.1 | Grand Traverse Academy | 47.6 |
| 10 | Dominic Gaetano | 23:25.1 | Hillsdale Academy | 47.6 |
| 12 | Clay Wasielewski | 23:25.6 | Portage Central | 47.5 |
| 9 | Mason Terrell | 23:25.8 | Allendale | 47.4 |
| 10 | Carsten McCollum | 23:26.0 | FHN GR_Forest Hills Northern | 47.3 |
| 10 | Donald (DJ) Kuck | 23:26.9 | Hastings | 47.0 |
| 9 | Nicholas Boot | 23:28.1 | Portage Central | 46.6 |
| 9 | Caleb Daniels | 23:28.3 | Boyne City | 46.6 |
| 9 | Ronan Weed | 23:28.3 | Petoskey St. Michael | 46.6 |
| 9 | Cooper Donovan | 23:28.4 | FHE Ada Forest Hills Eastern | 46.5 |
| 11 | Adam Rhodes | 23:29.2 | FHE Ada Forest Hills Eastern | 46.3 |
| 9 | Carter Krzysik | 23:29.5 | Hastings | 46.2 |
| 9 | Isaiah Lindstrom | 23:30.5 | GR_Christian | 45.8 |
| 12 | Alex DeWitt | 23:30.9 | Zeeland East | 45.7 |
| 11 | Brian Mygrants | 23:31.1 | Parma Western | 45.6 |
| 10 | Gabriel Streeter | 23:31.3 | Parchment | 45.6 |
| 11 | Omri Cohen | 23:31.4 | FHN GR_Forest Hills Northern | 45.5 |
| 11 | James Bottema | 23:31.6 | Parchment | 45.5 |
| 10 | Luke Witte | 23:32.4 | GR_Christian | 45.2 |
| 9 | Sam Thelen | 23:33.7 | Grandville | 44.8 |
| 9 | Hudson Bigford | 23:34.3 | FHC GR_Forest Hills Central | 44.6 |
| 9 | Kingsley Gu | 23:34.3 | Mt. Pleasant Sacred Heart | 44.6 |
| 9 | Cayden Hincher | 23:35.3 | Portage Northern | 44.2 |
| 10 | Tanek Burt | 23:37.2 | Hudsonville | 43.6 |
| 10 | Cole Bates | 23:38.2 | Constantine | 43.3 |
| 10 | Cooper Stewart | 23:39.5 | Bridgman | 42.8 |
| 11 | Owen Shank | 23:40.1 | Heritage Christian Academy | 42.6 |
| 9 | Lucas Dudley | 23:40.9 | Mendon | 42.4 |
| 12 | Jet Toepfer | 23:41.1 | Portage Northern | 42.3 |
| 9 | Landon Marshall | 23:42.1 | Centreville | 42.0 |
| 11 | Alex West | 23:43.4 | Paw Paw | 41.5 |
| 9 | Breslin Walek-Russel | 23:43.5 | Muskegon Mona Shores | 41.5 |
| 11 | Dan McGehee | 23:43.7 | Schoolcraft | 41.4 |
| 11 | Alex Hart | 23:46.0 | Jackson Lumen Christi | 40.7 |
| 12 | Robert Langworthy | 23:48.6 | Constantine | 39.8 |
| 12 | Gavin Stone | 23:50.2 | Rockford | 39.3 |
| 12 | Val Heppler | 23:51.8 | Stevensville Lakeshore | 38.7 |
| 11 | Mason Leenheer | 23:52.1 | Hudsonville | 38.6 |
| 10 | Paul Guerin | 23:53.5 | Paw Paw | 38.2 |
| 12 | Elijah Rodabaugh | 23:53.9 | Hanover-Horton | 38.0 |
| 9 | Daniel Bauer | 23:54.5 | Kingsley | 37.8 |
| 9 | Dane Sprague | 23:55.4 | Allendale | 37.5 |
| 12 | Max Holstege | 23:55.5 | GR_Covenant Christian | 37.5 |
| 10 | Will Weiszhaar | 23:56.2 | Dexter | 37.3 |
| 10 | Jackson Parker | 23:56.3 | Schoolcraft | 37.2 |
| 11 | Blake Stuart | 23:56.7 | Mendon | 37.1 |
| 11 | Jacob Adams | 23:59.0 | Marcellus | 36.3 |
| 9 | Dexter Martin | 24:00.3 | Maple City Glen Lake | 35.9 |
| 12 | Robert Arce | 24:08.0 | Richland Gull Lake | 33.3 |
| 9 | Peter Soltis | 24:08.6 | Jackson Lumen Christi | 33.1 |
| 9 | Valentino Giardina | 24:08.9 | Gaylord | 33.0 |
| 12 | Colin Smith | 24:13.8 | Potterville | 31.4 |
| 9 | Simeon Montney | 24:15.9 | Shepherd | 30.7 |
| 9 | Knighten Rockwell | 24:16.1 | Galesburg-Augusta | 30.6 |
| 9 | Derek Crum | 24:18.6 | Monroe | 29.8 |
| 11 | Luke Acton | 24:19.6 | Newaygo | 29.5 |
| 10 | Max Damstra | 24:19.7 | GR_Christian | 29.4 |
| 10 | Isaac Robles | 24:22.2 | GR_West Michigan Aviation | 28.6 |
| 11 | Finnegan Sweeney | 24:23.5 | Potterville | 28.2 |
| 9 | Nathan Kunzi | 24:23.8 | Hudsonville | 28.1 |
| 9 | Zachary Spaulding | 24:24.7 | Newaygo | 27.8 |
| 9 | Christian Prong | 24:27.1 | South Haven | 27.0 |
| 9 | Wyatt Burke | 24:28.8 | GR_South Christian | 26.4 |
| 9 | Cooper Lynch | 24:28.8 | Three Oaks River Valley | 26.4 |
| 10 | Isaiah Baker | 24:30.5 | Hudsonville | 25.8 |
| 10 | Wesley Jenkins | 24:33.5 | Ann Arbor Skyline | 24.8 |
| 11 | Bryan Jin | 24:35.5 | FHN GR_Forest Hills Northern | 24.2 |
| 9 | Ronan Turrell | 24:36.4 | St. Clair | 23.9 |
| 11 | Declan Smith | 24:37.9 | Middleville Thornapple-Kellogg | 23.4 |
| 11 | Carson VanBaren | 24:38.4 | GR_Covenant Christian | 23.2 |
| 12 | Leon Ventura Neumann | 24:39.0 | Newaygo | 23.0 |
| 9 | Aiden Simon | 24:39.2 | Muskegon Mona Shores | 22.9 |
| 12 | Alejandro Ortiz-Soto | 24:40.8 | Constantine | 22.4 |
| 10 | Caden Ruiter | 24:42.2 | Holland Christian | 21.9 |
| 11 | Jaxson Cicotte | 24:43.8 | Dexter | 21.4 |
| 10 | Angel Roldan | 24:44.6 | Eau Claire | 21.1 |
| 9 | Kevin Vargas | 24:49.2 | Eau Claire | 19.6 |
| 9 | Tanner Christensen | 24:49.5 | Mattawan | 19.5 |
| 9 | Christian Boyce | 24:50.9 | FHN GR_Forest Hills Northern | 19.0 |
| 11 | Nate Craanen | 24:51.5 | Monroe St. Mary CC | 18.8 |
| 10 | Ryan Mauwa | 24:54.7 | Portage Northern | 17.8 |
| 12 | Christian Klusman | 24:55.6 | Marcellus | 17.5 |
| 9 | Drake Dibble | 24:55.6 | Three Rivers | 17.5 |
| 10 | Ethan Koscinski | 24:56.2 | Bear Lake-Onekama | 17.3 |
| 12 | Noah Siglow | 24:57.2 | St. Joseph Our Lady of the Lake Catholic | 16.9 |
| 10 | Alex Wilder | 25:01.5 | Watervliet | 15.5 |
| 10 | Rylan Sleda | 25:06.4 | GR_Covenant Christian | 13.9 |
| 11 | Gabriel Flanders | 25:07.3 | Paw Paw | 13.6 |
| 9 | Camden Gritters | 25:08.1 | GR_Covenant Christian | 13.3 |
| 12 | Nolan VanHorn | 25:10.4 | Gobles | 12.5 |
| 10 | James Harper | 25:11.7 | Caledonia | 12.1 |
| 10 | Cole Stapert | 25:16.3 | Gobles | 10.6 |
| 11 | Sergey Collings | 25:19.3 | Mt. Pleasant Sacred Heart | 9.6 |
| 9 | Matt Hassing | 25:19.8 | Bloomingdale | 9.4 |
| 12 | Jonathan Reed | 25:20.1 | Cedar Springs | 9.3 |
| 10 | Lucas Wells | 25:20.8 | FHN GR_Forest Hills Northern | 9.1 |
| 9 | Noah Bohan | 25:20.8 | Marcellus | 9.1 |
| 12 | Jacob Gonsler | 25:21.0 | Bay City Western | 9.0 |
| 10 | Ryan Travis | 25:21.1 | Shepherd | 9.0 |
| 10 | Jacob Gilbert | 25:23.9 | Dexter | 8.0 |
| 9 | Trey VanBaren | 25:27.8 | GR_Covenant Christian | 6.7 |
| 9 | Parker VanderMeer | 25:33.1 | Grandville | 5.0 |
| 12 | Nate Gil | 25:36.7 | FHE Ada Forest Hills Eastern | 3.8 |
| 10 | Aaron Wilks | 25:44.2 | Galesburg-Augusta | 1.3 |
| 11 | Allison Williams | 25:46.1 | FHE Ada Forest Hills Eastern | 0.6 |
| 9 | Chris Han | 25:47.9 | Mt. Pleasant Sacred Heart | 0.0 |