| Place | Bib# | Name | Age | Club | Times | Laps | Lap 1 | Lap 2 | Lap 3 |
| 1 | 311 | Max Stiles | 10 | Tripleshot Cycling Club | 29:04 | 3: 9:44 3: 9:44 | 1: 9:38 1: 19:22 | 3: 9:42 1: 29:04 | |
| 2 | 307 | Jasper Johnson | 13 | Tripleshot Cycling Club | 29:08 | 2: 9:44 2: 9:44 | 3: 9:44 4: 19:28 | 1: 9:40 3: 29:08 | |
| 3 | 302 | Archer Hepples | 12 | Rock city cycles | 29:08 | 1: 9:39 1: 9:39 | 4: 9:48 3: 19:27 | 2: 9:41 2: 29:08 | |
| 4 | 312 | Ben Constable | 43 | 29:08 | 4: 9:45 4: 9:45 | 2: 9:40 2: 19:25 | 4: 9:43 4: 29:08 | ||
| 5 | 316 | Lucas Boisvert | 11 | 30:47 | 6: 10:18 6: 10:18 | 5: 10:13 6: 20:31 | 5: 10:16 5: 30:47 | ||
| 6 | 303 | Austen Chen | 11 | 31:09 | 5: 10:13 5: 10:13 | 6: 10:18 5: 20:31 | 7: 10:38 6: 31:09 | ||
| 7 | 322 | Yann Bernaquez | 43 | Rock City Cycles - Frontrunners | 31:29 | 9: 10:37 9: 10:37 | 7: 10:19 7: 20:56 | 6: 10:33 7: 31:29 | |
| 8 | 308 | Marco Coda | 64 | CVCC | 32:40 | 7: 10:24 7: 10:24 | 8: 11:06 8: 21:30 | 11: 11:10 8: 32:40 | |
| 9 | 305 | Corey Bradder | 36 | 32:56 | 10: 10:48 10: 10:48 | 9: 11:10 9: 21:58 | 9: 10:58 9: 32:56 | ||
| 10 | 309 | Nicholas Hincks | 42 | Goblins | 33:04 | 11: 10:54 11: 10:54 | 10: 11:10 10: 22:04 | 10: 11:00 10: 33:04 | |
| 11 | 306 | Gabriel Daradics | 11 | Team Slug Racing | 33:05 | 13: 10:57 13: 10:57 | 11: 11:13 11: 22:10 | 8: 10:55 11: 33:05 | |
| 12 | 310 | William Brunelle | 12 | Tripleshot Cycling Club | 34:10 | 14: 11:14 14: 11:14 | 15: 11:36 13: 22:50 | 14: 11:20 12: 34:10 | |
| 13 | 320 | Roscoe Grace | 11 | Gravity mtb | 34:11 | 12: 10:54 12: 10:54 | 17: 11:49 12: 22:43 | 15: 11:28 13: 34:11 | |
| 14 | 317 | Oaklen stevens | 12 | Wide open | 34:22 | 18: 11:43 18: 11:43 | 13: 11:25 15: 23:09 | 12: 11:13 14: 34:22 | |
| 15 | 321 | Kyle Stevens | 34:23 | 17: 11:43 17: 11:43 | 12: 11:22 14: 23:05 | 13: 11:18 15: 34:23 | |||
| 16 | 304 | Brian Dunkley | 60 | Pink Bike | 34:55 | 15: 11:38 15: 11:38 | 14: 11:34 16: 23:12 | 16: 11:43 16: 34:55 | |
| 17 | 314 | Glenn Friesen | 69 | 35:24 | 19: 11:46 19: 11:46 | 16: 11:44 18: 23:30 | 17: 11:54 17: 35:24 | ||
| 18 | 313 | Gabriel Molgat-Roy | 11 | FTPeed Myself | 35:55 | 16: 11:38 16: 11:38 | 18: 11:49 17: 23:27 | 18: 12:27 18: 35:55 | |
| 19 | 318 | Oliver Trimble | 10 | 41:50 | 20: 13:19 20: 13:19 | 20: 14:32 19: 27:51 | 19: 13:58 19: 41:50 | ||
| 20 | 301 | Alex Horner | 37 | 41:52 | 21: 13:45 21: 13:45 | 19: 14:07 20: 27:53 | 20: 13:59 20: 41:52 | ||
| DNF | 315 | Kenji Jackson | 47 | -2 | 8: 10:35 8: 10:35 |