| 1 | Walker MogenPlace 1 · Radford | — | Radford | 15:45.00 |
| 2 | Matthew FarmerPlace 2 · Rural Retreat | — | Rural Retreat | 16:08.00 |
| 3 | Brad SwineyPlace 3 · John Battle | — | John Battle | 16:11.00 |
| 4 | Josh GoodmanPlace 4 · Bland County | — | Bland County | 16:12.00 |
| 5 | Ben HadererPlace 5 · John Battle | — | John Battle | 16:22.00 |
| 6 | Owen MorganPlace 6 · George Wythe | — | George Wythe | 16:27.00 |
| 7 | Tyler PauleyPlace 7 · Grayson County | — | Grayson County | 16:56.00 |
| 8 | Job StanleyPlace 8 · Patrick Henry-Glade Sprin | — | Patrick Henry-Glade Sprin | 17:06.00 |
| 9 | Daniel PinardPlace 9 · Glenvar | — | Glenvar | 17:07.00 |
| 10 | Nathan GalliherPlace 10 · John Battle | — | John Battle | 17:17.00 |
| 11 | Dustin MatthewsPlace 11 · Galax | — | Galax | 17:21.00 |
| 12 | Luke MunceyPlace 12 · Giles | — | Giles | 17:28.00 |
| 13 | Isaac JordanPlace 13 · Galax | — | Galax | 17:32.00 |
| 14 | Chandler QuesenberryPlace 14 · Galax | — | Galax | 17:33.00 |
| 15 | Jared BrownPlace 15 · Narrows | — | Narrows | 17:37.00 |
| 16 | Ryan LewisPlace 16 · Floyd | — | Floyd | 17:39.00 |
| 17 | Preston NeukirchPlace 17 · Floyd | — | Floyd | 17:40.00 |
| 18 | Daniel HixPlace 18 · Galax | — | Galax | 17:44.00 |
| 19 | Baxter MartinPlace 19 · John Battle | — | John Battle | 17:46.00 |
| 20 | Bryce AltizerPlace 20 · Floyd | — | Floyd | 17:47.00 |
| 21 | Adam JohnsonPlace 21 · Radford | — | Radford | 17:54.00 |
| 22 | Jacob StubbsPlace 22 · Giles | — | Giles | 18:00.00 |
| 23 | Cole SchaferPlace 23 · Radford | — | Radford | 18:09.00 |
| 24 | Zach CochranPlace 24 · Carroll County | — | Carroll County | 18:12.00 |
| 25 | Matt WetzelPlace 25 · Auburn | — | Auburn | 18:13.00 |
| 26 | Vincent OsbornePlace 26 · Floyd | — | Floyd | 18:17.00 |
| 27 | Tyler YoungPlace 27 · Grayson County | — | Grayson County | 18:20.00 |
| 28 | Michael MannPlace 28 · Radford | — | Radford | 18:23.00 |
| 29 | Jacob DavenportPlace 29 · Patrick Henry-Glade Sprin | — | Patrick Henry-Glade Sprin | 18:24.00 |
| 30 | Eli CopenhaverPlace 30 · Patrick Henry-Glade Sprin | — | Patrick Henry-Glade Sprin | 18:25.00 |
| 31 | Zane MoranPlace 31 · Floyd | — | Floyd | 18:32.00 |
| 32 | Ian VestPlace 32 · Floyd | — | Floyd | 18:35.00 |
| 33 | Jared NewmanPlace 33 · Rural Retreat | — | Rural Retreat | 18:40.00 |
| 34 | Phillip BlevinsPlace 34 · Marion | — | Marion | 18:43.00 |
| 35 | Andrew VaccaroPlace 35 · Radford | — | Radford | 18:44.00 |
| 36 | Matthew MaysPlace 36 · North Surry | — | North Surry | 18:45.00 |
| 37 | Adam WyattPlace 37 · Grayson County | — | Grayson County | 18:46.00 |
| 38 | Brian CrockettPlace 38 · Rural Retreat | — | Rural Retreat | 18:47.00 |
| 39 | Randolph ColbyPlace 39 · Radford | — | Radford | 18:56.00 |
| 40 | Zach OteyPlace 40 · Bland County | — | Bland County | 18:59.00 |
| 41 | Shane SmithPlace 41 · Rural Retreat | — | Rural Retreat | 19:01.00 |
| 42 | Austin KirbyPlace 42 · Grayson County | — | Grayson County | 19:02.00 |
| 43 | Tyler KrejciPlace 43 · Carroll County | — | Carroll County | 19:05.00 |
| 44 | Ryan MoorePlace 44 · George Wythe | — | George Wythe | 19:07.00 |
| 45 | Hunter BlessingPlace 45 · Carroll County | — | Carroll County | 19:13.00 |
| 46 | Andres MorenoPlace 46 · Galax | — | Galax | 19:15.00 |
| 47 | Luke ClarkPlace 47 · Patrick Henry-Glade Sprin | — | Patrick Henry-Glade Sprin | 19:16.00 |
| 48 | Murdock LinkPlace 48 · Giles | — | Giles | 19:18.00 |
| 49 | Christian BoydPlace 49 · Bland County | — | Bland County | 19:22.00 |
| 50 | Tristan SmithPlace 50 · Auburn | — | Auburn | 19:25.00 |
| 51 | T.J. ScottPlace 51 · Carroll County | — | Carroll County | 19:28.00 |
| 52 | Bradley VickersPlace 52 · Carroll County | — | Carroll County | 19:29.00 |
| 53 | Miguel PastanaPlace 53 · Floyd | — | Floyd | 19:32.00 |
| 54 | Tanner WinesettPlace 54 · Graham | — | Graham | 19:34.00 |
| 55 | Andrew YoungPlace 55 · Auburn | — | Auburn | 19:35.00 |
| 56 | Tyler BarrettPlace 56 · Carroll County | — | Carroll County | 19:39.00 |
| 57 | John WalkerPlace 57 · Marion | — | Marion | 19:52.00 |
| 58 | Kyle RichardsonPlace 58 · Marion | — | Marion | 19:53.00 |
| 59 | Eli LawerencePlace 59 · Radford | — | Radford | 19:56.00 |
| 60 | Dylan ThomasPlace 60 · Auburn | — | Auburn | 19:57.00 |
| 61 | Jacob GannPlace 61 · Giles | — | Giles | 20:03.00 |
| 62 | Scott FordPlace 62 · Graham | — | Graham | 20:05.00 |
| 63 | Jake CaudillPlace 63 · Patrick Henry-Glade Sprin | — | Patrick Henry-Glade Sprin | 20:06.00 |
| 64 | Alex BowesPlace 64 · North Surry | — | North Surry | 20:09.00 |
| 65 | Josh GoffPlace 65 · Patrick Henry-Glade Sprin | — | Patrick Henry-Glade Sprin | 20:10.00 |
| 66 | Brandon CarrollPlace 66 · Graham | — | Graham | 20:11.00 |
| 67 | Jabin NewmanPlace 67 · Rural Retreat | — | Rural Retreat | 20:15.00 |
| 68 | Charlie GreelyPlace 68 · Glenvar | — | Glenvar | 20:18.00 |
| 69 | Dustin MeadowsPlace 69 · Narrows | — | Narrows | 20:23.00 |
| 70 | Sam HixPlace 70 · Galax | — | Galax | 20:27.00 |
| 71 | Chandler BurtonPlace 71 · Narrows | — | Narrows | 20:37.00 |
| 72 | Cody RobertsonPlace 72 · Craig County | — | Craig County | 20:40.00 |
| 73 | Bailey HawkinsPlace 73 · Grayson County | — | Grayson County | 20:41.00 |
| 74 | Ben AllamongPlace 74 · Giles | — | Giles | 20:44.00 |
| 75 | CJ FergusonPlace 75 · Narrows | — | Narrows | 20:45.00 |
| 76 | Lucas GrahamPlace 76 · Carroll County | — | Carroll County | 20:52.00 |
| 77 | James WrightPlace 77 · Craig County | — | Craig County | 20:53.00 |
| 78 | Walker WoodburyPlace 78 · Giles | — | Giles | 20:55.00 |
| 79 | Kellen CampbellPlace 79 · East Montgomery | — | East Montgomery | 20:59.00 |
| 80 | Roy OakleyPlace 80 · Grayson County | — | Grayson County | 21:00.00 |
| 81 | Cody BurchananPlace 81 · John Battle | — | John Battle | 21:05.00 |
| 82 | Tyler PettengerPlace 82 · Auburn | — | Auburn | 21:06.00 |
| 83 | Sean SneedPlace 83 · John Battle | — | John Battle | 21:08.00 |
| 84 | Ali ReynaPlace 84 · Galax | — | Galax | 21:09.00 |
| 85 | Ian DrewPlace 85 · John Battle | — | John Battle | 21:11.00 |
| 86 | Fred StumpPlace 86 · Giles | — | Giles | 21:20.00 |
| 87 | Jonah MillerPlace 87 · Bland County | — | Bland County | 21:25.00 |
| 88 | Brandon CraftPlace 88 · Narrows | — | Narrows | 21:28.00 |
| 89 | Anthony MoorePlace 89 · Marion | — | Marion | 21:41.00 |
| 90 | Brandon ShulerPlace 90 · Marion | — | Marion | 21:53.00 |
| 91 | Ben ChambersPlace 91 · Marion | — | Marion | 21:55.00 |
| 92 | Adam NesterPlace 92 · East Montgomery | — | East Montgomery | 21:57.00 |
| 93 | Dalton CrockettPlace 93 · Rural Retreat | — | Rural Retreat | 22:02.00 |
| 94 | Jacob MooreheadPlace 94 · Bland County | — | Bland County | 22:05.00 |
| 95 | Ian MacNaughtonPlace 95 · Graham | — | Graham | 22:18.00 |
| 96 | Lane KealeyPlace 96 · Patrick Henry-Glade Sprin | — | Patrick Henry-Glade Sprin | 22:46.00 |
| 98 | Hunter HamiltonPlace 98 · Auburn | — | Auburn | 22:59.00 |
| 99 | Andy FailerPlace 99 · George Wythe | — | George Wythe | 23:00.00 |
| 100 | Gordon DunfordPlace 100 · Ft. Chiswell | — | Ft. Chiswell | 23:02.00 |
| 101 | Jordan McKinneyPlace 101 · Narrows | — | Narrows | 23:05.00 |
| 102 | Jariel QuesenberryPlace 102 · Glenvar | — | Glenvar | 23:07.00 |
| 103 | Aaron ThompsonPlace 103 · Graham | — | Graham | 23:08.00 |
| 104 | Zach DobbPlace 104 · Glenvar | — | Glenvar | 23:16.00 |
| 105 | CJ KremmPlace 105 · George Wythe | — | George Wythe | 23:18.00 |
| 106 | Dustin NicholsPlace 106 · North Surry | — | North Surry | 23:21.00 |
| 107 | Maley GiampocaroPlace 107 · Graham | — | Graham | 23:22.00 |
| 108 | Ethan DowdyPlace 108 · Craig County | — | Craig County | 23:25.00 |
| 109 | Brady WattsPlace 109 · North Surry | — | North Surry | 23:31.00 |
| 110 | Elisha UntiedtPlace 110 · Chilhowie | — | Chilhowie | 23:34.00 |
| 111 | Jake YoderPlace 111 · East Montgomery | — | East Montgomery | 23:41.00 |
| 112 | tanner MearsPlace 112 · North Surry | — | North Surry | 24:16.00 |
| 113 | Matt CarrollPlace 113 · Ft. Chiswell | — | Ft. Chiswell | 24:53.00 |
| 114 | Andrew GibsonPlace 114 · Glenvar | — | Glenvar | 24:54.00 |
| 115 | Landon HughesPlace 115 · Glenvar | — | Glenvar | 25:05.00 |
| 116 | Jake BallardPlace 116 · Narrows | — | Narrows | 25:30.00 |
| 117 | Alan BurtickPlace 117 · East Montgomery | — | East Montgomery | 25:33.00 |
| 118 | Luke SimmonsPlace 118 · North Surry | — | North Surry | 25:38.00 |
| 119 | Patrick JahnigPlace 119 · Chilhowie | — | Chilhowie | 26:13.00 |
| 120 | Tyler LambertPlace 120 · Ft. Chiswell | — | Ft. Chiswell | 26:58.00 |