| 1 | Bryan MagillPlace 1 · Dominion | — | Dominion | 17:59 | 1 |
| 2 | Matthew WeinsteinPlace 2 · Loudoun Valley | — | Loudoun Valley | 18:10 | 2 |
| 3 | Austin FrancePlace 3 · Stone Bridge | — | Stone Bridge | 18:11 | 3 |
| 4 | Jackson MortonPlace 4 · Stone Bridge | — | Stone Bridge | 18:11 | 4 |
| 5 | Chase BontempsPlace 5 · Heritage (Leesburg) | — | Heritage (Leesburg) | 18:14 | 5 |
| 6 | Nick ViaPlace 6 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 18:15 | 6 |
| 7 | Jahlil NorthoverPlace 7 · Sherando | — | Sherando | 18:16 | 7 |
| 8 | Ethan BunnerPlace 8 · Sherando | — | Sherando | 18:23 | 8 |
| 9 | Bradley McguirePlace 9 · Millbrook | — | Millbrook | 18:24 | 9 |
| 10 | Eric EspositoPlace 10 · Dominion | — | Dominion | 18:26 | 10 |
| 11 | Conor TidgewellPlace 11 · Heritage (Leesburg) | — | Heritage (Leesburg) | 18:28 | 11 |
| 12 | Noah GeorgePlace 12 · Fauquier | — | Fauquier | 18:30 | 12 |
| 13 | Clark CucinellPlace 13 · Loudoun Valley | — | Loudoun Valley | 18:31 | 13 |
| 14 | Cameron DowPlace 14 · Millbrook | — | Millbrook | 18:32 | 14 |
| 15 | James KellyPlace 15 · Sherando | — | Sherando | 18:32 | 15 |
| 16 | Garrett AllegraPlace 16 · Sherando | — | Sherando | 18:32 | 16 |
| 17 | Conner WardePlace 17 · Stone Bridge | — | Stone Bridge | 18:34 | 17 |
| 18 | Jacob LuskPlace 18 · Millbrook | — | Millbrook | 18:35 | 18 |
| 19 | Tim BushmanPlace 19 · Stone Bridge | — | Stone Bridge | 18:37 | 19 |
| 20 | Alec SekelskyPlace 20 · Kettle Run | — | Kettle Run | 18:39 | 20 |
| 21 | Sam SharpPlace 21 · Dominion | — | Dominion | 18:44 | 21 |
| 22 | Tommy ArthurPlace 22 · Dominion | — | Dominion | 18:45 | 22 |
| 23 | Carl CuramengPlace 23 · John Handley | — | John Handley | 18:47 | 23 |
| 24 | Zachary GarnerPlace 24 · Dominion | — | Dominion | 18:49 | 24 |
| 25 | Jack FlynnPlace 25 · Dominion | — | Dominion | 18:55 | 25 |
| 26 | Sean MarklandPlace 26 · Sherando | — | Sherando | 18:58 | 26 |
| 27 | Sam RollerPlace 27 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 19:00 | 27 |
| 28 | Brady PricePlace 28 · Heritage (Leesburg) | — | Heritage (Leesburg) | 19:02 | 28 |
| 29 | Danny MathewsPlace 29 · Sherando | — | Sherando | 19:05 | 29 |
| 30 | Lukas DiFazioPlace 30 · Dominion | — | Dominion | 19:06 | 30 |
| 31 | Ryan SmithPlace 31 · Heritage (Leesburg) | — | Heritage (Leesburg) | 19:07 | 31 |
| 32 | Ryan RanslemPlace 32 · Fauquier | — | Fauquier | 19:09 | 32 |
| 33 | Stephen HrebenachPlace 33 · Heritage (Leesburg) | — | Heritage (Leesburg) | 19:09 | 33 |
| 34 | Noel WeberPlace 34 · Sherando | — | Sherando | 19:10 | 34 |
| 35 | Logan FisherPlace 35 · Fauquier | — | Fauquier | 19:11 | 35 |
| 36 | Jon BaggettPlace 36 · Sherando | — | Sherando | 19:11 | — |
| 37 | Justin StrawserPlace 37 · Fauquier | — | Fauquier | 19:11 | 36 |
| 38 | Brennan WrightPlace 38 · Heritage (Leesburg) | — | Heritage (Leesburg) | 19:12 | 37 |
| 39 | Alex ErvinPlace 39 · Fauquier | — | Fauquier | 19:12 | 38 |
| 40 | Christian PelendaPlace 40 · Heritage (Leesburg) | — | Heritage (Leesburg) | 19:13 | 39 |
| 41 | Adam HarveyPlace 41 · Dominion | — | Dominion | 19:14 | — |
| 42 | Joe VallePlace 42 · Stone Bridge | — | Stone Bridge | 19:15 | 40 |
| 43 | Pietro GiambancoPlace 43 · Fauquier | — | Fauquier | 19:16 | 41 |
| 44 | Taylor CrewPlace 44 · Heritage (Leesburg) | — | Heritage (Leesburg) | 19:21 | — |
| 45 | Joey TemmePlace 45 · Heritage (Leesburg) | — | Heritage (Leesburg) | 19:26 | — |
| 46 | Kiran SweattePlace 46 · Loudoun Valley | — | Loudoun Valley | 19:27 | 42 |
| 47 | Eric LyPlace 47 · Dominion | — | Dominion | 19:29 | — |
| 48 | Joseph YeagerPlace 48 · Fauquier | — | Fauquier | 19:29 | 43 |
| 49 | Matthew AlexPlace 49 · Heritage (Leesburg) | — | Heritage (Leesburg) | 19:33 | — |
| 50 | Justin HelouPlace 50 · Kettle Run | — | Kettle Run | 19:35 | 44 |
| 51 | Ryan CroninPlace 51 · Stone Bridge | — | Stone Bridge | 19:37 | 45 |
| 52 | Zachary BrownPlace 52 · Sherando | — | Sherando | 19:37 | — |
| 53 | Tommy BakosPlace 53 · Sherando | — | Sherando | 19:37 | — |
| 54 | Patrick MullikinPlace 54 · Kettle Run | — | Kettle Run | 19:37 | 46 |
| 55 | Daniel O'HaraPlace 55 · Kettle Run | — | Kettle Run | 19:38 | 47 |
| 56 | Cullen TurneyPlace 56 · Kettle Run | — | Kettle Run | 19:39 | 48 |
| 57 | Nick AycockPlace 57 · Heritage (Leesburg) | — | Heritage (Leesburg) | 19:39 | — |
| 58 | Calvin MillerPlace 58 · Dominion | — | Dominion | 19:42 | — |
| 59 | Saul CoronaPlace 59 · Fauquier | — | Fauquier | 19:42 | — |
| 60 | Jackson HerwigPlace 60 · Loudoun Valley | — | Loudoun Valley | 19:42 | 49 |
| 61 | Ryan JohnstonePlace 61 · John Handley | — | John Handley | 19:43 | 50 |
| 62 | William TrubanPlace 62 · John Handley | — | John Handley | 19:43 | 51 |
| 63 | Luke O'NeillPlace 63 · Sherando | — | Sherando | 19:43 | — |
| 64 | Jack ZelmanPlace 64 · Heritage (Leesburg) | — | Heritage (Leesburg) | 19:46 | — |
| 65 | Connor KeatingPlace 65 · Kettle Run | — | Kettle Run | 19:47 | 52 |
| 66 | David KennedyPlace 66 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 19:48 | 53 |
| 67 | Tyler PreastPlace 67 · Stone Bridge | — | Stone Bridge | 19:49 | 54 |
| 68 | Joe HaberlinPlace 68 · Stone Bridge | — | Stone Bridge | 19:50 | — |
| 69 | Gabe WoodsPlace 69 · Washington | — | Washington | 19:54 | — |
| 70 | Jake SpradlingPlace 70 · Heritage (Leesburg) | — | Heritage (Leesburg) | 19:56 | — |
| 71 | Marshall BrawnPlace 71 · Kettle Run | — | Kettle Run | 19:56 | 55 |
| 72 | Ari DashmyagerPlace 72 · Heritage (Leesburg) | — | Heritage (Leesburg) | 19:58 | — |
| 73 | Suraj IlavalaPlace 73 · Dominion | — | Dominion | 19:58 | — |
| 74 | John BaldridgePlace 74 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 20:02 | 56 |
| 75 | Derrick LemmonPlace 75 · Heritage (Leesburg) | — | Heritage (Leesburg) | 20:03 | — |
| 76 | Daniel AramayoPlace 76 · Loudoun Valley | — | Loudoun Valley | 20:04 | 57 |
| 77 | Christian BlackwellPlace 77 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 20:05 | 58 |
| 78 | Thomas MartinPlace 78 · Skyline | — | Skyline | 20:06 | 59 |
| 79 | Gianni ParelloPlace 79 · Dominion | — | Dominion | 20:06 | — |
| 80 | Charles MoorePlace 80 · Clarke County | — | Clarke County | 20:06 | 60 |
| 81 | Brett BonesteelPlace 81 · Kettle Run | — | Kettle Run | 20:07 | — |
| 82 | Kyle JohnsonPlace 82 · Dominion | — | Dominion | 20:08 | — |
| 83 | Ian DuntonPlace 83 · Fauquier | — | Fauquier | 20:10 | — |
| 84 | Cody StevensPlace 84 · Dominion | — | Dominion | 20:11 | — |
| 85 | Matt LeePlace 85 · John Handley | — | John Handley | 20:12 | 61 |
| 86 | Blake AndersonPlace 86 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 20:12 | 62 |
| 87 | John KageyPlace 87 · Sherando | — | Sherando | 20:13 | — |
| 88 | Gideon PfefferPlace 88 · Fauquier | — | Fauquier | 20:15 | — |
| 89 | Agam JainPlace 89 · Dominion | — | Dominion | 20:15 | — |
| 90 | Brendan AndersonPlace 90 · Dominion | — | Dominion | 20:16 | — |
| 91 | Robert EngebretsonPlace 91 · Dominion | — | Dominion | 20:17 | — |
| 92 | Josh BlakePlace 92 · John Handley | — | John Handley | 20:18 | 63 |
| 93 | Patrick BxybeePlace 93 · Washington | — | Washington | 20:20 | — |
| 94 | Seth SobekPlace 94 · Stone Bridge | — | Stone Bridge | 20:25 | — |
| 95 | Kepley JackPlace 95 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 20:28 | 64 |
| 96 | Curt DoescherPlace 96 · Stone Bridge | — | Stone Bridge | 20:28 | — |
| 97 | Gabriel PagePlace 97 · Dominion | — | Dominion | 20:31 | — |
| 98 | Myles PennfieldPlace 98 · Dominion | — | Dominion | 20:33 | — |
| 99 | Peter GugliottaPlace 99 · Loudoun Valley | — | Loudoun Valley | 20:33 | 65 |
| 100 | Ethan ThomasPlace 100 · Washington | — | Washington | 20:34 | — |
| 101 | Tom CartyPlace 101 · Millbrook | — | Millbrook | 20:34 | 66 |
| 102 | Connor FineranPlace 102 · Dominion | — | Dominion | 20:38 | — |
| 103 | Christian PagetPlace 103 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 20:39 | — |
| 104 | Brandon KeithleyPlace 104 · Fauquier | — | Fauquier | 20:39 | — |
| 105 | Kyle GrimPlace 105 · Sherando | — | Sherando | 20:40 | — |
| 106 | Josh DansiePlace 106 · James Wood | — | James Wood | 20:42 | — |
| 107 | Matthew CoulterPlace 107 · Dominion | — | Dominion | 20:43 | — |
| 108 | Jesse StubbsPlace 108 · Sherando | — | Sherando | 20:44 | — |
| 109 | Gregory SullivanPlace 109 · Loudoun Valley | — | Loudoun Valley | 20:44 | 67 |
| 110 | Ben RadomskyPlace 110 · Dominion | — | Dominion | 20:45 | — |
| 111 | Michael GearyPlace 111 · Stone Bridge | — | Stone Bridge | 20:46 | — |
| 112 | Tom DreherPlace 112 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 20:50 | — |
| 113 | Dusty WeirPlace 113 · Skyline | — | Skyline | 20:52 | 68 |
| 114 | Kevin CuervoPlace 114 · Dominion | — | Dominion | 20:52 | — |
| 115 | Noah JohnstonePlace 115 · John Handley | — | John Handley | 20:55 | 69 |
| 116 | Ryan McDonoughPlace 116 · Skyline | — | Skyline | 20:59 | 70 |
| 117 | Marshall LeePlace 117 · Sherando | — | Sherando | 21:00 | — |
| 118 | Zac RappPlace 118 · Kettle Run | — | Kettle Run | 21:01 | — |
| 119 | Colin VitkusPlace 119 · Loudoun Valley | — | Loudoun Valley | 21:06 | — |
| 120 | Zachary BartosiewiczPlace 120 · Clarke County | — | Clarke County | 21:10 | 71 |
| 121 | Jack DalePlace 121 · Clarke County | — | Clarke County | 21:11 | 72 |
| 122 | Nick DenglerPlace 122 · John Handley | — | John Handley | 21:13 | 73 |
| 123 | Todd PinneyPlace 123 · Stone Bridge | — | Stone Bridge | 21:14 | — |
| 124 | Landen EstesPlace 124 · John Handley | — | John Handley | 21:14 | — |
| 125 | Jackson CunninghamPlace 125 · Loudoun Valley | — | Loudoun Valley | 21:14 | — |
| 126 | Riley KeeslingPlace 126 · Loudoun Valley | — | Loudoun Valley | 21:18 | — |
| 127 | Michael EliasPlace 127 · Loudoun Valley | — | Loudoun Valley | 21:21 | — |
| 128 | Kian KhalilianPlace 128 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 21:23 | — |
| 129 | Apoorva ArunkumarPlace 129 · Stone Bridge | — | Stone Bridge | 21:24 | — |
| 130 | Johnathan PaynePlace 130 · Loudoun Valley | — | Loudoun Valley | 21:25 | — |
| 131 | Jacob BrowningPlace 131 · Dominion | — | Dominion | 21:26 | — |
| 132 | Mason SmithPlace 132 · Loudoun Valley | — | Loudoun Valley | 21:28 | — |
| 133 | Eion KeatingPlace 133 · Kettle Run | — | Kettle Run | 21:29 | — |
| 134 | Chase BieglerPlace 134 · Dominion | — | Dominion | 21:34 | — |
| 135 | Ian BoguckiPlace 135 · Loudoun Valley | — | Loudoun Valley | 21:35 | — |
| 136 | William OvermanPlace 136 · Kettle Run | — | Kettle Run | 21:36 | — |
| 137 | Patrick SandersonPlace 137 · Stone Bridge | — | Stone Bridge | 21:42 | — |
| 138 | Robert NunaleyPlace 138 · Loudoun Valley | — | Loudoun Valley | 21:44 | — |
| 139 | Jonathan RodgerPlace 139 · Loudoun Valley | — | Loudoun Valley | 21:45 | — |
| 140 | Jason McAvoyPlace 140 · Fauquier | — | Fauquier | 21:48 | — |
| 141 | David JeuPlace 141 · Loudoun Valley | — | Loudoun Valley | 21:48 | — |
| 142 | Kishan ShahPlace 142 · Skyline | — | Skyline | 21:51 | 74 |
| 143 | Austin DuewekePlace 143 · Skyline | — | Skyline | 21:52 | 75 |
| 144 | Jack SchererPlace 144 · Kettle Run | — | Kettle Run | 21:53 | — |
| 145 | Cooper BurginPlace 145 · Fauquier | — | Fauquier | 21:53 | — |
| 146 | Dan KlemensPlace 146 · Dominion | — | Dominion | 21:54 | — |
| 147 | Sahm AziziPlace 147 · Loudoun Valley | — | Loudoun Valley | 21:54 | — |
| 148 | Sean FlemmingPlace 148 · Stone Bridge | — | Stone Bridge | 21:55 | — |
| 149 | Yousuf RehmanPlace 149 · Dominion | — | Dominion | 21:56 | — |
| 150 | Jacob PetersonPlace 150 · Clarke County | — | Clarke County | 21:56 | 76 |
| 151 | Kyle CarterPlace 151 · Stone Bridge | — | Stone Bridge | 21:57 | — |
| 152 | Jack BelodeauPlace 152 · Dominion | — | Dominion | 22:01 | — |
| 153 | Brandon WaltersPlace 153 · Skyline | — | Skyline | 22:07 | 77 |
| 154 | Josh KlinePlace 154 · Dominion | — | Dominion | 22:10 | — |
| 155 | Aidan KilrainPlace 155 · Loudoun Valley | — | Loudoun Valley | 22:13 | — |
| 156 | Hunter LaymanPlace 156 · Millbrook | — | Millbrook | 22:14 | 78 |
| 157 | Temour TokhiPlace 157 · Dominion | — | Dominion | 22:19 | — |
| 158 | Matthew GuzzettaPlace 158 · Loudoun Valley | — | Loudoun Valley | 22:23 | — |
| 159 | Bryce RodgersPlace 159 · Dominion | — | Dominion | 22:23 | — |
| 160 | Patrick ElderPlace 160 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 22:23 | — |
| 161 | Scott OverackerPlace 161 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 22:25 | — |
| 162 | Sam HutchinsPlace 162 · John Handley | — | John Handley | 22:26 | — |
| 163 | Nick CutrightPlace 163 · James Wood | — | James Wood | 22:33 | — |
| 164 | Conner ReedPlace 164 · Loudoun Valley | — | Loudoun Valley | 22:47 | — |
| 165 | Paul GriffinPlace 165 · John Handley | — | John Handley | 22:50 | — |
| 166 | Adam DonovanPlace 166 · Dominion | — | Dominion | 22:52 | — |
| 167 | Anthony CamposPlace 167 · Fauquier | — | Fauquier | 22:55 | — |
| 168 | Jordan DavisPlace 168 · Loudoun Valley | — | Loudoun Valley | 22:58 | — |
| 169 | Michael WintersPlace 169 · Fauquier | — | Fauquier | 23:00 | — |
| 170 | Jack MiddourPlace 170 · Loudoun Valley | — | Loudoun Valley | 23:02 | — |
| 171 | Preston JohnsonPlace 171 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 23:05 | — |
| 172 | Michael PowellPlace 172 · Patrick Henry (Roanoke) | — | Patrick Henry (Roanoke) | 23:09 | — |
| 173 | Brant GoingsPlace 173 · Loudoun Valley | — | Loudoun Valley | 23:22 | — |
| 174 | Bryan AlverezPlace 174 · Fauquier | — | Fauquier | 23:27 | — |
| 175 | Wyatt HafferPlace 175 · Skyline | — | Skyline | 23:30 | 79 |
| 176 | Brandon PutmanPlace 176 · Liberty (Bealeton) | — | Liberty (Bealeton) | 23:38 | — |
| 177 | Giovanni AlvaradoPlace 177 · Fauquier | — | Fauquier | 23:41 | — |
| 178 | Garrett HallPlace 178 · Stone Bridge | — | Stone Bridge | 23:44 | — |
| 179 | Dylan GrubbPlace 179 · Skyline | — | Skyline | 24:02 | — |
| 180 | Will PughPlace 180 · James Wood | — | James Wood | 24:46 | — |
| 181 | Spencer WolfePlace 181 · Loudoun Valley | — | Loudoun Valley | 24:55 | — |
| 182 | Tyler MartucciPlace 182 · Skyline | — | Skyline | 25:21 | — |
| 183 | Collin KubalPlace 183 · Loudoun Valley | — | Loudoun Valley | 25:45 | — |
| 184 | Jacob SullivanPlace 184 · Loudoun Valley | — | Loudoun Valley | 26:50 | — |
| 185 | Samuel WilsonPlace 185 · Clarke County | — | Clarke County | 27:25 | 80 |
| 186 | Alex FrancoPlace 186 · Clarke County | — | Clarke County | 27:54 | 81 |