| 1 | Caleb GilbrethPlace 1 · Needham | — | Needham | 15:58 |
| 2 | Will CourcierPlace 2 · Needham | — | Needham | 16:03 |
| 3 | Isaac GibsonPlace 3 · Needham | — | Needham | 16:03 |
| 4 | Greyson SkrocePlace 4 · Needham | — | Needham | 16:18 |
| 5 | Luke MeszarosPlace 5 · Natick | — | Natick | 16:20 |
| 6 | Sam FeldmanPlace 6 · Natick | — | Natick | 16:26 |
| 7 | Dylan GonzalesPlace 7 · Natick | — | Natick | 16:44 |
| 8 | James ShepardPlace 8 · Needham | — | Needham | 16:45 |
| 9 | Yengi YengiPlace 9 · Natick | — | Natick | 16:47 |
| 10 | Aidan CliverPlace 10 · Natick | — | Natick | 16:48 |
| 11 | Adam PfaffPlace 11 · Needham | — | Needham | 17:01 |
| 12 | Jack GilardePlace 12 · Needham | — | Needham | 17:07 |
| 13 | Ryan DonahuePlace 13 · Natick | — | Natick | 17:12 |
| 14 | Michael HitronPlace 14 · Needham | — | Needham | 17:16 |
| 15 | George SalisPlace 15 · Natick | — | Natick | 17:17 |
| 16 | Daniel TamirPlace 16 · Natick | — | Natick | 17:24 |
| 17 | Samuel LawlorPlace 17 · Natick | — | Natick | 17:30 |
| 18 | Max RetikPlace 18 · Natick | — | Natick | 17:36 |
| 19 | Jack ArgilagosPlace 19 · Needham | — | Needham | 17:39 |
| 20 | Finan ManganPlace 20 · Natick | — | Natick | 17:42 |
| 21 | Sam GreenPlace 21 · Needham | — | Needham | 17:44 |
| 22 | Kyle HeanuePlace 22 · Natick | — | Natick | 17:44 |
| 23 | Oliver ChaldnyPlace 23 · Needham | — | Needham | 17:45 |
| 24 | Liam LundellPlace 24 · Natick | — | Natick | 17:46 |
| 25 | Nicholas MinioPlace 25 · Natick | — | Natick | 17:53 |
| 26 | Tyler CharestPlace 26 · Natick | — | Natick | 17:55 |
| 27 | Peter BarrettPlace 27 · Needham | — | Needham | 17:56 |
| 28 | Zackary EacottPlace 28 · Needham | — | Needham | 17:59 |
| 29 | Evan GarberPlace 29 · Natick | — | Natick | 18:15 |
| 30 | Pablo Vallejos GonzalesPlace 30 · Natick | — | Natick | 18:18 |
| 31 | Max NahasPlace 31 · Natick | — | Natick | 18:18 |
| 32 | Anthony LuPlace 32 · Natick | — | Natick | 18:22 |
| 33 | James GrantPlace 33 · Natick | — | Natick | 18:29 |
| 34 | Bennett FarnyPlace 34 · Natick | — | Natick | 18:38 |
| 35 | Lucas McmahanPlace 35 · Natick | — | Natick | 18:40 |
| 36 | Caleb JerusalmiPlace 36 · Natick | — | Natick | 18:45 |
| 37 | Jordan BlausteinPlace 37 · Needham | — | Needham | 18:50 |
| 38 | Jake RoyPlace 38 · Natick | — | Natick | 18:53 |
| 39 | Luke ZitnickPlace 39 · Natick | — | Natick | 19:13 |
| 40 | Walter HeegerPlace 40 · Needham | — | Needham | 19:35 |
| 41 | Joshua AaronsPlace 41 · Natick | — | Natick | 19:35 |
| 42 | Rocco ContePlace 42 · Natick | — | Natick | 19:41 |
| 43 | Lucas GottfriedPlace 43 · Natick | — | Natick | 19:43 |
| 44 | Noah GorovitzPlace 44 · Needham | — | Needham | 20:13 |
| 45 | Connor GarryPlace 45 · Natick | — | Natick | 20:42 |
| 46 | Noam WebberPlace 46 · Natick | — | Natick | 20:54 |
| 47 | Spencer SonnenstuhlPlace 47 · Natick | — | Natick | 21:21 |
| 48 | Jack CliverPlace 48 · Natick | — | Natick | 21:34 |
| 49 | Raghav Vidarth KarthikPlace 49 · Natick | — | Natick | 21:44 |
| 50 | Henry BaimaPlace 50 · Natick | — | Natick | 24:02 |
| 51 | Elias DuckworthPlace 51 · Natick | — | Natick | 24:12 |
| 52 | Kyle VoPlace 52 · Natick | — | Natick | 24:19 |