| 1 | Amir AougabPlace 1 · Dominion | — | Dominion | 17:14.00 | 1 |
| 2 | Ian WhitfieldPlace 2 · Dominion | — | Dominion | 17:23.00 | 2 |
| 3 | Luke MillerPlace 3 · Dominion | — | Dominion | 17:30.00 | 3 |
| 4 | Cameron JordanPlace 4 · Loudoun Valley | — | Loudoun Valley | 17:30.00 | 4 |
| 5 | Hasni Bachir-BouiadjraPlace 5 · Dominion | — | Dominion | 17:41.00 | 5 |
| 6 | Ryan DehlerPlace 6 · Loudoun Valley | — | Loudoun Valley | 17:50.00 | 6 |
| 7 | Arnav SareenPlace 7 · Dominion | — | Dominion | 17:51.00 | 7 |
| 8 | Max MancusoPlace 8 · Dominion | — | Dominion | 18:02.00 | 8 |
| 9 | Aidan SotoPlace 9 · Loudoun Valley | — | Loudoun Valley | 18:02.00 | 9 |
| 10 | Lukas ClitesPlace 10 · Loudoun Valley | — | Loudoun Valley | 18:05.00 | 10 |
| 11 | Rand LichtmanPlace 11 · Broad Run | — | Broad Run | 18:06.00 | 11 |
| 12 | John MonseurPlace 12 · Park View (S | — | Park View (S | 18:06.00 | 12 |
| 13 | Nicholas SibleyPlace 13 · Dominion | — | Dominion | 18:25.00 | 13 |
| 14 | Kyle FosterPlace 14 · Dominion | — | Dominion | 18:26.00 | — |
| 15 | Ziyad HassanPlace 15 · Broad Run | — | Broad Run | 18:32.00 | 14 |
| 16 | Heath EversPlace 16 · Dominion | — | Dominion | 18:40.00 | — |
| 17 | Luke BlairPlace 17 · Loudoun Valley | — | Loudoun Valley | 18:43.00 | 15 |
| 18 | Will McGroddyPlace 18 · Loudoun Valley | — | Loudoun Valley | 18:45.00 | 16 |
| 19 | Garrett VigilPlace 19 · Broad Run | — | Broad Run | 18:46.00 | 17 |
| 20 | Emilio CortezPlace 20 · Dominion | — | Dominion | 18:47.00 | — |
| 21 | Joseph VilorioPlace 21 · Dominion | — | Dominion | 18:49.00 | — |
| 22 | Ryan ErnyPlace 22 · Broad Run | — | Broad Run | 18:52.00 | 18 |
| 23 | Tyler WhitfieldPlace 23 · Dominion | — | Dominion | 18:53.00 | — |
| 24 | Brandon FortePlace 24 · Broad Run | — | Broad Run | 19:00.00 | 19 |
| 25 | Yanis YelsiPlace 25 · Park View (S | — | Park View (S | 19:03.00 | 20 |
| 26 | George DegnPlace 26 · Loudoun Valley | — | Loudoun Valley | 19:12.00 | 21 |
| 27 | Nick NappiPlace 27 · Loudoun Valley | — | Loudoun Valley | 19:13.00 | — |
| 28 | Carson BrooksPlace 28 · Loudoun Valley | — | Loudoun Valley | 19:15.00 | — |
| 29 | Sebastian WiktorowiczPlace 29 · Park View (S | — | Park View (S | 19:18.00 | 22 |
| 30 | Owen LeinbachPlace 30 · Dominion | — | Dominion | 19:22.00 | — |
| 31 | John MillerPlace 31 · Dominion | — | Dominion | 19:27.00 | — |
| 32 | Blake HartzelPlace 32 · Dominion | — | Dominion | 19:30.00 | — |
| 33 | Stephen EconomouPlace 33 · Dominion | — | Dominion | 19:31.00 | — |
| 34 | Pearson DhillonPlace 34 · Loudoun Valley | — | Loudoun Valley | 19:33.00 | — |
| 35 | Kenan SeremetPlace 35 · Broad Run | — | Broad Run | 19:35.00 | 23 |
| 36 | Gabe CatesPlace 36 · Loudoun Valley | — | Loudoun Valley | 19:36.00 | — |
| 37 | Andrew PopePlace 37 · Dominion | — | Dominion | 19:40.00 | — |
| 38 | Jacob GrimmPlace 38 · Broad Run | — | Broad Run | 19:41.00 | 24 |
| 39 | Yusuf SharifPlace 39 · Broad Run | — | Broad Run | 19:42.00 | — |
| 40 | Jonathan TubbsPlace 40 · Broad Run | — | Broad Run | 20:04.00 | — |
| 41 | Yajat DewanPlace 41 · Dominion | — | Dominion | 20:08.00 | — |
| 42 | Kyle MirraPlace 42 · Park View (S | — | Park View (S | 20:13.00 | 25 |
| 43 | Ben SchwartzPlace 43 · Loudoun Valley | — | Loudoun Valley | 20:16.00 | — |
| 44 | Nicolas AguayoPlace 44 · Broad Run | — | Broad Run | 20:19.00 | — |
| 45 | Dean TurnerPlace 45 · Loudoun Valley | — | Loudoun Valley | 20:21.00 | — |
| 46 | Gavin BurkePlace 46 · Dominion | — | Dominion | 20:23.00 | — |
| 47 | Leo HowleyPlace 47 · Loudoun Valley | — | Loudoun Valley | 20:25.00 | — |
| 48 | Ethan BeaugezPlace 48 · Loudoun Valley | — | Loudoun Valley | 20:26.00 | — |
| 49 | Dylan O'RourkePlace 49 · Dominion | — | Dominion | 20:27.00 | — |
| 50 | Bakhat OtmanPlace 50 · Park View (S | — | Park View (S | 20:30.00 | 26 |
| 51 | Joseph SamahaPlace 51 · Dominion | — | Dominion | 20:30.00 | — |
| 52 | Jason CanlasPlace 52 · Loudoun Valley | — | Loudoun Valley | 20:35.00 | — |
| 53 | Brett ZimmetPlace 53 · Loudoun Valley | — | Loudoun Valley | 20:37.00 | — |
| 54 | Peter DowneyPlace 54 · Dominion | — | Dominion | 20:40.00 | — |
| 55 | Jackson SummersPlace 55 · Dominion | — | Dominion | 20:43.00 | — |
| 56 | Justin WangPlace 56 · Dominion | — | Dominion | 20:44.00 | — |
| 57 | Parker NyhuisPlace 57 · Broad Run | — | Broad Run | 20:46.00 | — |
| 58 | Josiah HunterPlace 58 · Loudoun Valley | — | Loudoun Valley | 20:47.00 | — |
| 59 | Jeremy AlmedaPlace 59 · Broad Run | — | Broad Run | 20:48.00 | — |
| 60 | Zach MarshallPlace 60 · Broad Run | — | Broad Run | 20:52.00 | — |
| 61 | Harsh PatelPlace 61 · Park View (S | — | Park View (S | 20:58.00 | 27 |
| 62 | Ben VibasPlace 62 · Broad Run | — | Broad Run | 21:00.00 | — |
| 63 | Nicholas MichellPlace 63 · Broad Run | — | Broad Run | 21:03.00 | — |
| 64 | Spencer DavisPlace 64 · Loudoun Valley | — | Loudoun Valley | 21:05.00 | — |
| 65 | Jacob CrouchPlace 65 · Broad Run | — | Broad Run | 21:06.00 | — |
| 66 | Ali NilforoushPlace 66 · Dominion | — | Dominion | 21:09.00 | — |
| 67 | Aidan SmithPlace 67 · Park View (S | — | Park View (S | 21:14.00 | 28 |
| 68 | Ricky MolinaPlace 68 · Loudoun Valley | — | Loudoun Valley | 21:14.00 | — |
| 69 | Gabe ButlerPlace 69 · Loudoun Valley | — | Loudoun Valley | 21:16.00 | — |
| 70 | Sean EarleyPlace 70 · Dominion | — | Dominion | 21:25.00 | — |
| 71 | Chase GoetschiPlace 71 · Dominion | — | Dominion | 21:27.00 | — |
| 72 | Andrew GingrasPlace 72 · Loudoun Valley | — | Loudoun Valley | 21:30.00 | — |
| 73 | Denny LuuPlace 73 · Dominion | — | Dominion | 21:31.00 | — |
| 74 | Janaq KocaqiPlace 74 · Park View (S | — | Park View (S | 21:37.00 | — |
| 75 | Jerry YoonPlace 75 · Dominion | — | Dominion | 21:38.00 | — |
| 76 | Josh DiGirolamoPlace 76 · Loudoun Valley | — | Loudoun Valley | 21:42.00 | — |
| 77 | Cooper RawsonPlace 77 · Broad Run | — | Broad Run | 21:51.00 | — |
| 78 | Charles BattlesPlace 78 · Loudoun Valley | — | Loudoun Valley | 21:51.00 | — |
| 79 | Jeffrey ZapataPlace 79 · Park View (S | — | Park View (S | 21:52.00 | — |
| 80 | Benjamin NunleyPlace 80 · Broad Run | — | Broad Run | 21:52.00 | — |
| 81 | Julian FrattarolaPlace 81 · Loudoun Valley | — | Loudoun Valley | 21:53.00 | — |
| 82 | Connor HarrisonPlace 82 · Dominion | — | Dominion | 21:55.00 | — |
| 83 | Aiden Van VoorhisPlace 83 · Dominion | — | Dominion | 21:56.00 | — |
| 84 | Edward AvelarPlace 84 · Dominion | — | Dominion | 22:03.00 | — |
| 85 | Carter OffhausPlace 85 · Park View (S | — | Park View (S | 22:14.00 | — |
| 86 | Josh ShousePlace 86 · Loudoun Valley | — | Loudoun Valley | 22:15.00 | — |
| 87 | Patrick NoonanPlace 87 · Dominion | — | Dominion | 22:21.00 | — |
| 88 | Cameron GiglioPlace 88 · Loudoun Valley | — | Loudoun Valley | 22:24.00 | — |
| 89 | Grady AllenPlace 89 · Dominion | — | Dominion | 22:28.00 | — |
| 90 | John SchroederPlace 90 · Dominion | — | Dominion | 22:37.00 | — |
| 91 | Joshua SanchezPlace 91 · Dominion | — | Dominion | 22:41.00 | — |
| 92 | Brenden Romero-GonzalezPlace 92 · Park View (S | — | Park View (S | 22:43.00 | — |
| 93 | Ashraf HassanPlace 93 · Broad Run | — | Broad Run | 22:45.00 | — |
| 94 | Rohan BangalorePlace 94 · Dominion | — | Dominion | 22:48.00 | — |
| 95 | Atash BarbicPlace 95 · Dominion | — | Dominion | 23:09.00 | — |
| 96 | Turner CorrellPlace 96 · Dominion | — | Dominion | 23:12.00 | — |
| 97 | Grant NewcombPlace 97 · Broad Run | — | Broad Run | 23:14.00 | — |
| 98 | Nikhil MangatPlace 98 · Dominion | — | Dominion | 23:15.00 | — |
| 99 | Andrew SchoenyPlace 99 · Loudoun Valley | — | Loudoun Valley | 23:17.00 | — |
| 100 | Jacob GugliottaPlace 100 · Loudoun Valley | — | Loudoun Valley | 23:17.00 | — |
| 101 | Frank WesdockPlace 101 · Dominion | — | Dominion | 23:18.00 | — |
| 102 | Bryan KavanaghPlace 102 · Loudoun Valley | — | Loudoun Valley | 23:22.00 | — |
| 103 | Rene AyalaPlace 103 · Park View (S | — | Park View (S | 23:24.00 | — |
| 104 | Joshua VilorioPlace 104 · Dominion | — | Dominion | 23:28.00 | — |
| 105 | Hagan StritePlace 105 · Loudoun Valley | — | Loudoun Valley | 23:32.00 | — |
| 106 | Jacob LittlePlace 106 · Loudoun Valley | — | Loudoun Valley | 23:35.00 | — |
| 107 | Sam BermanPlace 107 · Broad Run | — | Broad Run | 23:45.00 | — |
| 108 | Alex JamesPlace 108 · Dominion | — | Dominion | 23:47.00 | — |
| 109 | matro meridaPlace 109 · Park View (S | — | Park View (S | 23:49.00 | — |
| 110 | Imre BieseckerPlace 110 · Loudoun Valley | — | Loudoun Valley | 23:51.00 | — |
| 111 | John MilenskiPlace 111 · Dominion | — | Dominion | 23:53.00 | — |
| 112 | Sakthi PackiarajPlace 112 · Broad Run | — | Broad Run | 23:55.00 | — |
| 113 | Jake BarattaPlace 113 · Broad Run | — | Broad Run | 24:02.00 | — |
| 114 | Sebastian VasquezPlace 114 · Park View (S | — | Park View (S | 24:05.00 | — |
| 115 | Henry CasaresPlace 115 · Dominion | — | Dominion | 24:12.00 | — |
| 116 | Nick SimonPlace 116 · Broad Run | — | Broad Run | 24:48.00 | — |
| 117 | Isaac AkuettehPlace 117 · Broad Run | — | Broad Run | 25:23.00 | — |
| 118 | Noah DemangosPlace 118 · Dominion | — | Dominion | 25:23.00 | — |
| 119 | John JensenPlace 119 · Broad Run | — | Broad Run | 26:27.00 | — |
| 120 | Jose HerreraPlace 120 · Dominion | — | Dominion | 26:45.00 | — |
| 121 | Phong CaoPlace 121 · Dominion | — | Dominion | 26:53.00 | — |
| 122 | Henry FieldPlace 122 · Broad Run | — | Broad Run | 27:25.00 | — |
| 123 | Steven PereanuPlace 123 · Dominion | — | Dominion | 31:24.00 | — |