| 1 | Brody SnelsonOF, PNBA (Sandston) | 0.783 | 33 | 18 | 23 | 4 | 6 | 1 | 9 |
| 2 | Josh LandisSS, PBlue Ridge (Elkton) | 0.727 | 30 | 16 | 22 | 5 | 0 | 1 | 8 |
| 3 | Gerrad BorteGCA (Chesapeake) | 0.667 | 22 | 10 | 15 | 1 | 1 | 0 | 6 |
| 4 | Tristen NowocinCave Spring (Roanoke) | 0.640 | 62 | 32 | 50 | 6 | 5 | 3 | 14 |
| 5 | Tristan BanfordMount Vernon (Alexandria) | 0.613 | 37 | 19 | 31 | 3 | 1 | 0 | 10 |
| 6 | Liam RacicotTCS (Charlottesville) | 0.609 | 32 | 14 | 23 | 2 | 0 | 0 | 9 |
| 7 | Andersen SeelyNew Kent | 0.588 | 48 | 20 | 34 | 5 | 0 | 1 | 14 |
| 8 | Jake DolanFRHS (Front Royal) | 0.579 | 35 | 11 | 19 | 3 | 1 | 2 | 9 |
| 9 | John McLaughlinAtlee (Mechanicsville) | 0.575 | 48 | 23 | 40 | 11 | 2 | 0 | 15 |
| 10 | Kyle JarrattSA (Courtland) | 0.571 | 35 | 16 | 28 | 5 | 1 | 0 | 11 |
| 11 | Carson FticsarWBHS (Chesapeake) | 0.565 | 32 | 13 | 23 | 2 | 2 | 0 | 13 |
| 12 | Jeremiah BrownC, UTILBlue Ridge (Elkton) | 0.565 | 30 | 13 | 23 | 0 | 0 | 0 | 9 |
| 13 | Will GibbonsBethel (Hampton) | 0.560 | 35 | 14 | 25 | 0 | 0 | 0 | 10 |
| 14 | Jalen HurtBuckingham | 0.556 | 30 | 15 | 27 | 1 | 0 | 1 | 10 |
| 15 | Max MyrvoldINFSJPGC (Dumfries) | 0.556 | 25 | 10 | 18 | 0 | 0 | 0 | 8 |
| 16 | Timothy LawsonRichlands | 0.556 | 23 | 10 | 18 | 3 | 1 | 1 | 7 |
| 17 | Jackson WilkinsonMount Vernon (Alexandria) | 0.552 | 36 | 16 | 29 | 2 | 0 | 0 | 10 |
| 18 | Camden TansmoreBethel (Hampton) | 0.550 | 33 | 11 | 20 | 3 | 1 | 0 | 9 |
| 19 | Ryan WinterKettle Run (Nokesville) | 0.550 | 27 | 11 | 20 | 0 | 0 | 0 | 8 |
| 20 | Chase SweeneyMount Vernon (Alexandria) | 0.545 | 39 | 18 | 33 | 0 | 0 | 0 | 10 |
| 21 | Blake BlairRadford | 0.545 | 25 | 12 | 22 | 2 | 0 | 0 | 9 |
| 22 | Max PettyPotomac Falls (Sterling) | 0.543 | 39 | 19 | 35 | 4 | 1 | 0 | 10 |
| 23 | Jay SernaDinwiddie | 0.538 | 32 | 14 | 26 | 3 | 0 | 0 | 10 |
| 24 | Mason SkrinskiNew Kent | 0.537 | 51 | 22 | 41 | 5 | 0 | 0 | 12 |
| 25 | Noah LemleCumberland | 0.533 | 21 | 8 | 15 | 0 | 0 | 0 | 6 |
| 26 | Robby BennettINFRiverside (Leesburg) | 0.529 | 24 | 9 | 17 | 3 | 0 | 0 | 8 |
| 27 | Bradley StevensTAHS (Bridgewater) | 0.526 | 26 | 10 | 19 | 1 | 0 | 0 | 7 |
| 28 | Cameron SousaCentreville (Clifton) | 0.525 | 44 | 21 | 40 | 3 | 0 | 0 | 12 |
| 29 | TRIP MUKHERJEEGranby (Norfolk) | 0.524 | 26 | 11 | 21 | 3 | 0 | 0 | 8 |
| 30 | JoJo JohnsonINF, OFNBA (Sandston) | 0.519 | 31 | 14 | 27 | 5 | 1 | 0 | 9 |
| 31 | Ian GarrissWoodbridge | 0.500 | 54 | 19 | 38 | 2 | 4 | 2 | 14 |
| 32 | Te'shaun SidneyBethel (Hampton) | 0.500 | 39 | 16 | 32 | 4 | 2 | 0 | 10 |
| 33 | Owen McSheaP, OFSJPGC (Dumfries) | 0.500 | 37 | 16 | 32 | 4 | 3 | 0 | 12 |
| 34 | Coleson BakesPowhatan | 0.500 | 35 | 13 | 26 | 0 | 0 | 0 | 12 |
| 35 | Davian JonesBuckingham | 0.500 | 34 | 13 | 26 | 0 | 0 | 0 | 10 |
| 36 | Nicholas FosterCumberland | 0.500 | 31 | 13 | 26 | 4 | 0 | 0 | 8 |
| 37 | Brady EnnisP, CSJPGC (Dumfries) | 0.500 | 26 | 8 | 16 | 1 | 2 | 0 | 9 |
| 38 | DAMON JOHNSON2B, SSRBHS (Upper Marlboro) | 0.500 | 24 | 9 | 18 | 1 | 0 | 0 | 7 |
| 39 | Bryce JohnstonRiverside (Leesburg) | 0.500 | 21 | 10 | 20 | 0 | 0 | 0 | 7 |
| 40 | Bruno DanreeTSHS (Nickelsville) | 0.500 | 21 | 7 | 14 | 1 | 2 | 0 | 5 |
| 41 | Corbin ReichlenCCA (Middleburg) | 0.489 | 60 | 22 | 45 | 4 | 0 | 0 | 15 |
| 42 | Eli Halsey3B, PFCHS (Max Meadows) | 0.489 | 55 | 22 | 45 | 8 | 0 | 2 | 14 |
| 43 | Levi HankinsPatrick County (Stuart) | 0.488 | 56 | 20 | 41 | 6 | 0 | 0 | 17 |
| 44 | Caleb VaughnPatrick County (Stuart) | 0.487 | 52 | 19 | 39 | 2 | 0 | 0 | 17 |
| 45 | William FoxP, 1BMidlothian | 0.484 | 36 | 15 | 31 | 3 | 0 | 0 | 14 |
| 46 | Matthew CosgroveINF, OFSJPGC (Dumfries) | 0.484 | 34 | 15 | 31 | 5 | 0 | 0 | 11 |
| 47 | Seth WashingtonWBHS (Chesapeake) | 0.483 | 35 | 14 | 29 | 1 | 0 | 0 | 12 |
| 48 | Caine LandesSA (Courtland) | 0.481 | 36 | 13 | 27 | 3 | 0 | 0 | 12 |
| 49 | Jackson RitcheyGCHS (Independence) | 0.481 | 31 | 13 | 27 | 6 | 0 | 0 | 9 |
| 50 | Francisco Boscan UrdanetaDenbigh (Newport News) | 0.478 | 29 | 11 | 23 | 0 | 0 | 0 | 10 |