| 1 | Trae CopperPlace 1 · Grade 12 · Battle Ground | 12 | Battle Ground | 17:05.00 |
| 2 | Vance CopperPlace 2 · Grade 11 · Battle Ground | 11 | Battle Ground | 17:07.00 |
| 3 | Hiroyasu SimsPlace 3 · Grade 11 · Union | 11 | Union | 17:10.00 |
| 4 | Lord King Nana-Badu-WeahPlace 4 · Grade 12 · Battle Ground | 12 | Battle Ground | 17:35.00 |
| 5 | Iliya DemchenkoPlace 5 · Grade 11 · Portland Christian | 11 | Portland Christian | 17:35.50 |
| 6 | Soren MatsonPlace 6 · Grade 12 · Battle Ground | 12 | Battle Ground | 17:38.00 |
| 7 | Max NelsonPlace 7 · Grade 12 · Battle Ground | 12 | Battle Ground | 17:55.00 |
| 8 | Rex WingPlace 8 · Grade 10 · Battle Ground | 10 | Battle Ground | 18:06.00 |
| 9 | Michael GarnerPlace 9 · Grade 12 · Battle Ground | 12 | Battle Ground | 18:16.00 |
| 10 | Cale LawsonPlace 10 · Grade 12 · Battle Ground | 12 | Battle Ground | 18:25.00 |
| 11 | Marshall RayPlace 11 · Grade 10 · Battle Ground | 10 | Battle Ground | 18:39.00 |
| 12 | Stepfon KephartPlace 12 · Grade 11 · Battle Ground | 11 | Battle Ground | 18:42.00 |
| 13 | Isaac ShirleyPlace 13 · Grade 11 · Battle Ground | 11 | Battle Ground | 18:45.00 |
| 14 | Jonathan YostPlace 14 · Grade 12 · Union | 12 | Union | 18:46.00 |
| 15 | Tim YostPlace 15 · Grade 11 · Union | 11 | Union | 18:46.50 |
| 16 | Adam BrashlerPlace 16 · Grade 9 · Union | 9 | Union | 19:13.00 |
| 17 | Karter LafrancePlace 17 · Grade 10 · Union | 10 | Union | 19:32.00 |
| 18 | Brian ShinPlace 18 · Grade 12 · Union | 12 | Union | 19:58.00 |
| 19 | Sage WannerPlace 19 · Grade 9 · Battle Ground | 9 | Battle Ground | 20:22.00 |
| 20 | Aidan LePlace 20 · Grade 12 · Portland Christian | 12 | Portland Christian | 20:41.00 |
| 21 | Isaac SchroderPlace 21 · Grade 12 · Portland Christian | 12 | Portland Christian | 20:42.00 |
| 22 | Aedan GentryPlace 22 · Grade 10 · Portland Christian | 10 | Portland Christian | 20:52.00 |
| 23 | Noah SawczukPlace 23 · Grade 10 · Battle Ground | 10 | Battle Ground | 21:15.00 |
| 24 | Quentin SmithPlace 24 · Grade 11 · Union | 11 | Union | 21:15.50 |
| 25 | Xavier DohmanPlace 25 · Grade 9 · Battle Ground | 9 | Battle Ground | 21:31.00 |
| 26 | Joey YostPlace 26 · Grade 10 · Union | 10 | Union | 21:42.00 |
| 27 | Marlon RediferPlace 27 · Grade 9 · Portland Christian | 9 | Portland Christian | 22:11.00 |
| 28 | Gavin GardnerPlace 28 · Grade 10 · Union | 10 | Union | 22:46.00 |
| 29 | Adrian LagattutaPlace 29 · Grade 11 · Union | 11 | Union | 23:59.00 |
| 30 | Lander PielPlace 30 · Grade 10 · Union | 10 | Union | 23:59.50 |
| 31 | Ezra NunnPlace 31 · Grade 11 · Portland Christian | 11 | Portland Christian | 24:10.00 |
| 32 | William PowellPlace 32 · Grade 11 · Union | 11 | Union | 24:11.00 |
| 33 | Connor EdwardsPlace 33 · Grade 12 · Battle Ground | 12 | Battle Ground | 24:31.00 |
| 34 | Jonathan KemhusPlace 34 · Grade 11 · Portland Christian | 11 | Portland Christian | 24:49.00 |
| 35 | Samuel Sanchez-MorenoPlace 35 · Grade 10 · Union | 10 | Union | 24:50.00 |
| 36 | Nicholas BradleyPlace 36 · Grade 9 · Union | 9 | Union | 24:52.00 |
| 37 | Samuel WaltersPlace 37 · Grade 11 · Portland Christian | 11 | Portland Christian | 25:00.00 |
| 38 | Jones MagnusonPlace 38 · Grade 10 · Portland Christian | 10 | Portland Christian | 25:08.00 |
| 39 | Aiden GarnerPlace 39 · Grade 10 · Battle Ground | 10 | Battle Ground | 26:36.00 |
| 40 | Korin PorterPlace 40 · Grade 10 · Battle Ground | 10 | Battle Ground | 35:28.00 |