| 1 | Walker MogenPlace 1 · Radford | — | Radford | 16:18.00 |
| 2 | James KasperPlace 2 · Glenvar | — | Glenvar | 16:49.00 |
| 3 | Matthew FarmerPlace 3 · Rural Retreat | — | Rural Retreat | 16:52.00 |
| 4 | Brent SwineyPlace 4 · John Battle | — | John Battle | 16:53.00 |
| 5 | Jake MunseyPlace 5 · Giles County | — | Giles County | 17:04.00 |
| 6 | Travis CockerhamPlace 6 · Galax | — | Galax | 17:08.00 |
| 7 | Josh GoodmanPlace 7 · Bland County | — | Bland County | 17:09.00 |
| 8 | Owen MorganPlace 8 · George Wythe | — | George Wythe | 17:09.00 |
| 9 | Ben HadererPlace 9 · John Battle | — | John Battle | 17:18.00 |
| 10 | Robert CookPlace 10 · Parry McCluer | — | Parry McCluer | 17:22.00 |
| 11 | Andrew RichardsonPlace 11 · Marion | — | Marion | 17:23.00 |
| 12 | Sam ArmstrongPlace 12 · Parry McCluer | — | Parry McCluer | 17:30.00 |
| 13 | Job StanleyPlace 13 · Patrick Henry (GS) | — | Patrick Henry (GS) | 17:36.00 |
| 14 | Chris BeardPlace 14 · Parry McCluer | — | Parry McCluer | 17:38.00 |
| 15 | Gabriel WhitlockPlace 15 · Floyd County | — | Floyd County | 17:39.00 |
| 16 | James CrowderPlace 16 · Parry McCluer | — | Parry McCluer | 17:41.00 |
| 17 | Daniel PinardPlace 17 · Glenvar | — | Glenvar | 17:42.00 |
| 18 | Luke MunseyPlace 18 · Giles County | — | Giles County | 17:44.00 |
| 19 | Trevor QuesenberryPlace 19 · Galax | — | Galax | 17:46.00 |
| 20 | Cole SchafferPlace 20 · Radford | — | Radford | 17:48.00 |
| 21 | Kendall HaynesPlace 21 · Carroll County | — | Carroll County | 17:50.00 |
| 22 | Matt TurkPlace 22 · Radford | — | Radford | 17:51.00 |
| 23 | Issac JordanPlace 23 · Galax | — | Galax | 17:56.00 |
| 24 | Chandler QuesenberryPlace 24 · Galax | — | Galax | 17:59.00 |
| 25 | Jack DrydenPlace 25 · Parry McCluer | — | Parry McCluer | 18:02.00 |
| 26 | Coy CraftPlace 26 · Patrick Henry (GS) | — | Patrick Henry (GS) | 18:03.00 |
| 27 | Andrew HagyPlace 27 · Marion | — | Marion | 18:08.00 |
| 28 | Dustin MatthewsPlace 28 · Galax | — | Galax | 18:14.00 |
| 29 | Tyler PauleyPlace 29 · Grayson County | — | Grayson County | 18:18.00 |
| 30 | Joey SupthinPlace 30 · Radford | — | Radford | 18:19.00 |
| 31 | Zach CockerhamPlace 31 · Carroll County | — | Carroll County | 18:20.00 |
| 32 | Justin ByrdPlace 32 · Floyd County | — | Floyd County | 18:21.00 |
| 33 | Brad SwineyPlace 33 · John Battle | — | John Battle | 18:28.00 |
| 34 | Nathan GalliherPlace 34 · John Battle | — | John Battle | 18:30.00 |
| 35 | Steven ConleyPlace 35 · John Battle | — | John Battle | 18:35.00 |
| 36 | Andrew VaccaroPlace 36 · Radford | — | Radford | 18:43.00 |
| 37 | Chandler BurtonPlace 37 · Narrows | — | Narrows | 18:45.00 |
| 38 | Michael MannPlace 38 · Radford | — | Radford | 18:46.00 |
| 39 | Bryce AltizerPlace 39 · Floyd County | — | Floyd County | 18:46.00 |
| 40 | Jared BrownPlace 40 · Narrows | — | Narrows | 18:47.00 |
| 41 | Abdul ShattoryPlace 41 · Bland County | — | Bland County | 18:52.00 |
| 42 | Riley St. PierrePlace 42 · Floyd County | — | Floyd County | 18:53.00 |
| 43 | Vincent OsbornePlace 43 · Floyd County | — | Floyd County | 18:54.00 |
| 44 | Will LanePlace 44 · Floyd County | — | Floyd County | 19:01.00 |
| 45 | Adam JohnsonPlace 45 · Radford | — | Radford | 19:04.00 |
| 46 | John WalkerPlace 46 · Marion | — | Marion | 19:06.00 |
| 47 | Sam AltizerPlace 47 · Holston | — | Holston | 19:09.00 |
| 48 | Adam WyattPlace 48 · Grayson County | — | Grayson County | 19:10.00 |
| 49 | Baxter MartinPlace 49 · John Battle | — | John Battle | 19:13.00 |
| 50 | Eli CopenhaverPlace 50 · Patrick Henry (GS) | — | Patrick Henry (GS) | 19:15.00 |
| 51 | Ben BallPlace 51 · John Battle | — | John Battle | 19:19.00 |
| 52 | Zach OteyPlace 52 · Bland County | — | Bland County | 19:24.00 |
| 53 | Jayson BalesPlace 53 · Marion | — | Marion | 19:30.00 |
| 54 | Kyle RichardsonPlace 54 · Marion | — | Marion | 19:31.00 |
| 55 | Tim McCluskeyPlace 55 · Chilhowie | — | Chilhowie | 19:32.00 |
| 56 | Logan UttPlace 56 · Carroll County | — | Carroll County | 19:34.00 |
| 57 | Tyler KernPlace 57 · James River | — | James River | 19:40.00 |
| 58 | Kevin LoftinPlace 58 · Galax | — | Galax | 19:43.00 |
| 59 | Derek CassellPlace 59 · Patrick Henry (GS) | — | Patrick Henry (GS) | 19:48.00 |
| 60 | Garrett DowdyPlace 60 · Giles County | — | Giles County | 19:48.00 |
| 61 | Ryan MoorePlace 61 · George Wythe | — | George Wythe | 19:49.00 |
| 62 | Avery MahaneyPlace 62 · Giles County | — | Giles County | 19:52.00 |
| 63 | Cody HanksPlace 63 · Ft. Chiswell | — | Ft. Chiswell | 19:53.00 |
| 64 | Josh GoffPlace 64 · Patrick Henry (GS) | — | Patrick Henry (GS) | 19:54.00 |
| 65 | Jacob DavenportPlace 65 · Patrick Henry (GS) | — | Patrick Henry (GS) | 19:55.00 |
| 66 | Dylan OsbornePlace 66 · Northwood | — | Northwood | 19:56.00 |
| 67 | Anthony TatePlace 67 · North Surry, NC | — | North Surry, NC | 20:00.00 |
| 68 | Matt WilliamsPlace 68 · Giles County | — | Giles County | 20:06.00 |
| 69 | Ben AlamongPlace 69 · Giles County | — | Giles County | 20:10.00 |
| 70 | Adam FergusonPlace 70 · James River | — | James River | 20:17.00 |
| 71 | Matthew WetzelPlace 71 · Auburn | — | Auburn | 20:28.00 |
| 72 | Gabe GibsonPlace 72 · James River | — | James River | 20:28.00 |
| 73 | Stacy HessPlace 73 · Northwood | — | Northwood | 20:29.00 |
| 74 | Dustin MeadowsPlace 74 · Narrows | — | Narrows | 20:36.00 |
| 75 | Hunter BlessingPlace 75 · Carroll County | — | Carroll County | 20:36.00 |
| 76 | Zack BlassingamePlace 76 · Grayson County | — | Grayson County | 20:37.00 |
| 77 | Matt WurzburgerPlace 77 · Floyd County | — | Floyd County | 20:43.00 |
| 78 | Sam BakerPlace 78 · James River | — | James River | 20:46.00 |
| 79 | Brian CrockettPlace 79 · Rural Retreat | — | Rural Retreat | 20:51.00 |
| 80 | Austin PuckettPlace 80 · Carroll County | — | Carroll County | 20:56.00 |
| 81 | Tyler KrejeiPlace 81 · Carroll County | — | Carroll County | 21:00.00 |
| 82 | Brandon ShularPlace 82 · Marion | — | Marion | 21:05.00 |
| 83 | Christian BoydPlace 83 · Bland County | — | Bland County | 21:10.00 |
| 84 | Nathan WrightPlace 84 · James River | — | James River | 21:12.00 |
| 85 | Dylan ColemanPlace 85 · James River | — | James River | 21:15.00 |
| 86 | Sam SteelePlace 86 · Giles County | — | Giles County | 21:21.00 |
| 87 | James RussellPlace 87 · Grayson County | — | Grayson County | 21:23.00 |
| 88 | Matt OhlPlace 88 · Glenvar | — | Glenvar | 21:24.00 |
| 89 | Luke ClarkPlace 89 · Patrick Henry (GS) | — | Patrick Henry (GS) | 21:27.00 |
| 90 | Donovan HaytonPlace 90 · Northwood | — | Northwood | 21:29.00 |
| 91 | Ryan DoroshenkPlace 91 · Glenvar | — | Glenvar | 21:34.00 |
| 92 | Tyler PettengerPlace 92 · Auburn | — | Auburn | 21:36.00 |
| 93 | James WillardPlace 93 · Rural Retreat | — | Rural Retreat | 21:44.00 |
| 94 | Zachary FreemanPlace 94 · Bland County | — | Bland County | 21:56.00 |
| 95 | Brandon CraftPlace 95 · Narrows | — | Narrows | 21:58.00 |
| 96 | Clark GraggPlace 96 · George Wythe | — | George Wythe | 22:11.00 |
| 97 | Danny SteversPlace 97 · Narrows | — | Narrows | 22:16.00 |
| 98 | Tanner RobinsonPlace 98 · Chilhowie | — | Chilhowie | 22:17.00 |
| 99 | Zac DobbPlace 99 · Glenvar | — | Glenvar | 22:20.00 |
| 100 | Payden SimmonsPlace 100 · North Surry, NC | — | North Surry, NC | 22:24.00 |
| 101 | Tucker HudsonPlace 101 · Glenvar | — | Glenvar | 22:28.00 |
| 102 | JB MagnasePlace 102 · Narrows | — | Narrows | 22:34.00 |
| 103 | Bryan CocheranPlace 103 · George Wythe | — | George Wythe | 22:36.00 |
| 104 | Justin HammPlace 104 · Holston | — | Holston | 22:38.00 |
| 105 | Gordon DunfordPlace 105 · Ft. Chiswell | — | Ft. Chiswell | 22:43.00 |
| 106 | David HarmonPlace 106 · Bland County | — | Bland County | 22:44.00 |
| 107 | Matthew CaltonPlace 107 · Galax | — | Galax | 23:04.00 |
| 108 | Elisha UntiedtPlace 108 · Chilhowie | — | Chilhowie | 23:13.00 |
| 109 | Billy ChandlerPlace 109 · Rural Retreat | — | Rural Retreat | 23:18.00 |
| 110 | Grayson BlackburnPlace 110 · Holston | — | Holston | 23:19.00 |
| 111 | Max MaurinPlace 111 · Marion | — | Marion | 23:19.00 |
| 112 | Chad CassarPlace 112 · George Wythe | — | George Wythe | 23:56.00 |
| 113 | JD SmithPlace 113 · Narrows | — | Narrows | 24:08.00 |
| 114 | Colten VanDeestPlace 114 · Northwood | — | Northwood | 24:15.00 |
| 115 | Nick BrewerPlace 115 · Grayson County | — | Grayson County | 24:35.00 |
| 116 | Andrew GibsonPlace 116 · Glenvar | — | Glenvar | 24:43.00 |
| 117 | Luke PoePlace 117 · Northwood | — | Northwood | 24:55.00 |
| 118 | Dustin PeterPlace 118 · Grayson County | — | Grayson County | 25:00.00 |
| 119 | Joey AlbrightPlace 119 · North Surry, NC | — | North Surry, NC | 25:00.00 |
| 120 | Chase PhillipsPlace 120 · Holston | — | Holston | 28:35.00 |
| 121 | Alex HammPlace 121 · Holston | — | Holston | 28:36.00 |
| 122 | Jonathan SimmonsPlace 122 · North Surry, NC | — | North Surry, NC | 28:53.00 |
| 123 | Luke SimmonsPlace 123 · North Surry, NC | — | North Surry, NC | 28:55.00 |
| 125 | Anant PatelPlace 125 · Bland County | — | Bland County | 31:22.00 |
| 126 | Elijah BryantPlace 126 · North Surry, NC | — | North Surry, NC | 47:26.00 |