| 1 | Matthew FarmerPlace 1 · Rural Retreat | — | Rural Retreat | 16:30.00 |
| 2 | Sam ArmstrongPlace 2 · Parry McCluer | — | Parry McCluer | 16:43.00 |
| 3 | Jared DowningPlace 3 · Auburn | — | Auburn | 16:44.00 |
| 4 | Dustin MatthewsPlace 4 · Galax | — | Galax | 17:09.00 |
| 5 | Nate WaddellPlace 5 · James River | — | James River | 17:16.00 |
| 6 | Darden BelaPlace 6 · Martinsville | — | Martinsville | 17:26.00 |
| 7 | Chase HaynesPlace 7 · James River | — | James River | 17:28.00 |
| 8 | Trevor KominyPlace 8 · Auburn | — | Auburn | 17:32.00 |
| 9 | Luke MunseyPlace 9 · Giles | — | Giles | 17:42.00 |
| 10 | Cliff ConleyPlace 10 · Galax | — | Galax | 17:46.00 |
| 11 | Caleb AmstutzPlace 11 · Roanoke Catholic | — | Roanoke Catholic | 17:51.00 |
| 12 | Logan MerrixPlace 12 · Giles | — | Giles | 17:52.00 |
| 13 | Daniel HixPlace 13 · Galax | — | Galax | 17:52.00 |
| 14 | Soidney AllenPlace 14 · Martinsville | — | Martinsville | 18:01.00 |
| 15 | Chandler QuesenberryPlace 15 · Galax | — | Galax | 18:05.00 |
| 16 | Tyler YoungPlace 16 · Grayson Co. | — | Grayson Co. | 18:08.00 |
| 17 | Caleb HallinanPlace 17 · Auburn | — | Auburn | 18:09.00 |
| 18 | Adam JohnstonPlace 18 · Radford | — | Radford | 18:11.00 |
| 19 | Kyle HathawayPlace 19 · Martinsville | — | Martinsville | 18:18.00 |
| 20 | Jack DrydenPlace 20 · Parry McCluer | — | Parry McCluer | 18:32.00 |
| 21 | Sam ShannaPlace 21 · Floyd Co. | — | Floyd Co. | 18:36.00 |
| 22 | Jacob WynnPlace 22 · Rural Retreat | — | Rural Retreat | 18:43.00 |
| 23 | Zane MoranPlace 23 · Floyd Co. | — | Floyd Co. | 18:44.00 |
| 24 | Miguel PashranaPlace 24 · Floyd Co. | — | Floyd Co. | 18:44.00 |
| 25 | John ColemanPlace 25 · Parry McCluer | — | Parry McCluer | 18:47.00 |
| 26 | Tyler AgnesPlace 26 · Radford | — | Radford | 18:48.00 |
| 27 | Samuel HaynesPlace 27 · Carroll Co. | — | Carroll Co. | 18:50.00 |
| 28 | Bradley VickersPlace 28 · Carroll Co. | — | Carroll Co. | 18:51.00 |
| 29 | Brandon CarrollPlace 29 · Graham | — | Graham | 18:52.00 |
| 30 | Ian VestPlace 30 · Floyd Co. | — | Floyd Co. | 18:52.00 |
| 31 | Bryce AltizerPlace 31 · Floyd Co. | — | Floyd Co. | 19:05.00 |
| 32 | Michael ShillingerPlace 32 · Giles | — | Giles | 19:07.00 |
| 33 | Josh MartinPlace 33 · Parry McCluer | — | Parry McCluer | 19:12.00 |
| 34 | Christian BoydPlace 34 · Bland Co. | — | Bland Co. | 19:18.00 |
| 35 | Tristan SmithPlace 35 · Auburn | — | Auburn | 19:20.00 |
| 36 | Andrew GriderPlace 36 · Faith Christian | — | Faith Christian | 19:21.00 |
| 37 | Sam MogenPlace 37 · Radford | — | Radford | 19:23.00 |
| 38 | Hunter BlessingPlace 38 · Carroll Co. | — | Carroll Co. | 19:25.00 |
| 39 | Thomas O'NeilPlace 39 · Martinsville | — | Martinsville | 19:32.00 |
| 40 | Jacob StubbsPlace 40 · Giles | — | Giles | 19:36.00 |
| 41 | Tyler KrejciPlace 41 · Carroll Co. | — | Carroll Co. | 19:39.00 |
| 42 | Malcolm StewartPlace 42 · Radford | — | Radford | 19:40.00 |
| 43 | Austin PenningtonPlace 43 · Giles | — | Giles | 19:41.00 |
| 44 | Randolph ColbyPlace 44 · Radford | — | Radford | 19:41.00 |
| 45 | Gabriel GibsonPlace 45 · James River | — | James River | 19:56.00 |
| 46 | Bailey HawkinsPlace 46 · Grayson Co. | — | Grayson Co. | 19:57.00 |
| 47 | Michael FranklinPlace 47 · Graham | — | Graham | 19:59.00 |
| 48 | Tyler BarnettPlace 48 · Carroll Co. | — | Carroll Co. | 20:04.00 |
| 49 | Alex EatonPlace 49 · Glenvar | — | Glenvar | 20:06.00 |
| 50 | Samuel BakerPlace 50 · James River | — | James River | 20:08.00 |
| 51 | Eli LawrencePlace 51 · Radford | — | Radford | 20:20.00 |
| 52 | Matthew HortonPlace 52 · Galax | — | Galax | 20:22.00 |
| 53 | Ryan GerstemeierPlace 53 · Roanoke Catholic | — | Roanoke Catholic | 20:24.00 |
| 54 | Jacob CrossPlace 54 · Bland Co. | — | Bland Co. | 20:26.00 |
| 55 | Josh StumpPlace 55 · Giles | — | Giles | 20:28.00 |
| 56 | Lucas GrahamPlace 56 · Graham | — | Graham | 20:36.00 |
| 57 | Brian CrockettPlace 57 · Rural Retreat | — | Rural Retreat | 20:40.00 |
| 58 | Andy WaldoPlace 58 · Faith Christian | — | Faith Christian | 20:47.00 |
| 59 | Andrew MorenoPlace 59 · Galax | — | Galax | 20:57.00 |
| 60 | Gordon SykesPlace 60 · Galax | — | Galax | 20:58.00 |
| 61 | Bryson SutphinPlace 61 · Floyd Co. | — | Floyd Co. | 21:03.00 |
| 62 | Cameron BeoirPlace 62 · Rural Retreat | — | Rural Retreat | 21:05.00 |
| 63 | Ryan MoorePlace 63 · George Wythe | — | George Wythe | 21:09.00 |
| 64 | Austin TolbertPlace 64 · George Wythe | — | George Wythe | 21:13.00 |
| 65 | Ritter MinnixPlace 65 · Faith Christian | — | Faith Christian | 21:14.00 |
| 66 | Brendan SnowPlace 66 · Roanoke Catholic | — | Roanoke Catholic | 21:17.00 |
| 67 | T.J. ScottPlace 67 · Carroll Co. | — | Carroll Co. | 21:19.00 |
| 68 | Jacob SalasPlace 68 · Martinsville | — | Martinsville | 21:20.00 |
| 69 | Jonah MillerPlace 69 · Bland Co. | — | Bland Co. | 21:21.00 |
| 70 | Matt DuncanPlace 70 · Glenvar | — | Glenvar | 21:23.00 |
| 71 | Joes SanchezPlace 71 · Grayson Co. | — | Grayson Co. | 21:28.00 |
| 72 | Kyle HeplerPlace 72 · James River | — | James River | 21:31.00 |
| 73 | Trey BoydPlace 73 · Rural Retreat | — | Rural Retreat | 21:42.00 |
| 74 | Brian HowellPlace 74 · Grayson Co. | — | Grayson Co. | 21:42.00 |
| 75 | Shane AllenPlace 75 · Glenvar | — | Glenvar | 21:43.00 |
| 76 | Zach BurchPlace 76 · Giles | — | Giles | 21:44.00 |
| 77 | Roy OakleyPlace 77 · Grayson Co. | — | Grayson Co. | 21:49.00 |
| 78 | Charlie GreelyPlace 78 · Glenvar | — | Glenvar | 21:50.00 |
| 79 | Ty BoydPlace 79 · Rural Retreat | — | Rural Retreat | 21:53.00 |
| 80 | Jordan McKinneyPlace 80 · Narrows | — | Narrows | 21:54.00 |
| 81 | Connor SnowPlace 81 · Roanoke Catholic | — | Roanoke Catholic | 21:58.00 |
| 82 | Jonathan LancenesePlace 82 · James River | — | James River | 22:05.00 |
| 83 | Evan AdamsPlace 83 · Carroll Co. | — | Carroll Co. | 22:06.00 |
| 84 | Aaron GrovesPlace 84 · Grayson Co. | — | Grayson Co. | 22:07.00 |
| 85 | Nick HarveyPlace 85 · Glenvar | — | Glenvar | 22:16.00 |
| 86 | Dakota SniderPlace 86 · Rural Retreat | — | Rural Retreat | 22:17.00 |
| 87 | Abdul MorseyPlace 87 · Grayson Co. | — | Grayson Co. | 22:17.00 |
| 88 | Jessee HarrellPlace 88 · Radford | — | Radford | 22:22.00 |
| 89 | Hunter CarterPlace 89 · Auburn | — | Auburn | 22:23.00 |
| 90 | Mateo CorderoPlace 90 · Parry McCluer | — | Parry McCluer | 22:25.00 |
| 91 | Austin LamrouexPlace 91 · George Wythe | — | George Wythe | 22:26.00 |
| 92 | David HarmanPlace 92 · Bland Co. | — | Bland Co. | 22:28.00 |
| 93 | Andrew FailorPlace 93 · George Wythe | — | George Wythe | 22:37.00 |
| 94 | Victor CuenPlace 94 · Graham | — | Graham | 22:39.00 |
| 95 | Zach ByrdPlace 95 · Floyd Co. | — | Floyd Co. | 22:49.00 |
| 96 | Chandler BurtonPlace 96 · Narrows | — | Narrows | 22:50.00 |
| 97 | Jacob MondayPlace 97 · Auburn | — | Auburn | 23:02.00 |
| 98 | Sam RiebelPlace 98 · Faith Christian | — | Faith Christian | 23:21.00 |
| 99 | Casey PreussPlace 99 · Faith Christian | — | Faith Christian | 23:25.00 |
| 100 | Jacob MoreheadPlace 100 · Bland Co. | — | Bland Co. | 23:38.00 |
| 101 | Andrew GibsonPlace 101 · Glenvar | — | Glenvar | 23:44.00 |
| 102 | Landon HughesPlace 102 · Glenvar | — | Glenvar | 23:57.00 |
| 103 | Jake BallardPlace 103 · Narrows | — | Narrows | 24:04.00 |
| 104 | Davis LittlePlace 104 · George Wythe | — | George Wythe | 24:08.00 |
| 105 | Blake ConnellPlace 105 · Roanoke Catholic | — | Roanoke Catholic | 24:19.00 |
| 106 | Caleb BrownPlace 106 · Auburn | — | Auburn | 24:47.00 |
| 107 | C.J. FergusonPlace 107 · Narrows | — | Narrows | 25:06.00 |
| 108 | Alan SmithPlace 108 · Parry McCluer | — | Parry McCluer | 25:35.00 |
| 109 | John GarstPlace 109 · Faith Christian | — | Faith Christian | 25:39.00 |
| 110 | Austin BrownPlace 110 · Tazewell | — | Tazewell | 25:44.00 |
| 111 | Josh DewildePlace 111 · Bland Co. | — | Bland Co. | 25:47.00 |
| 112 | Brandon CraftPlace 112 · Narrows | — | Narrows | 25:49.00 |
| 113 | Ethan DowdyPlace 113 · Craig Co. | — | Craig Co. | 26:39.00 |
| 114 | Landon PattesonPlace 114 · Narrows | — | Narrows | 26:46.00 |
| 115 | Alan BurtickPlace 115 · Eastmont | — | Eastmont | 26:59.00 |
| 116 | Hunter MullinsPlace 116 · Tazewell | — | Tazewell | 27:01.00 |
| 117 | Brandon SpanglerPlace 117 · Narrows | — | Narrows | 27:07.00 |
| 118 | Ben CarlislePlace 118 · Graham | — | Graham | 29:21.00 |
| 119 | Garett NunleyPlace 119 · Tazewell | — | Tazewell | 29:42.00 |
| 120 | Anant PatelPlace 120 · Bland Co. | — | Bland Co. | 29:59.00 |