| 20.09 › 21.0920-21/9 | | | | Keizer der Juniores (2.1) | | | | | more |
| 21.09 | DNS | | | S2bStage 2b - Koksijde › Koksijde | | 99 | | | |
| 21.09 | 125 | 112 | | S2a (ITT)Stage 2a (ITT) - Wulpen › Wulpen | | 6 | | | |
| 20.09 | 100 | 101 | | S1Stage 1 - Pittem › Pittem | | 111.2 | | | |
| 13.09 | 5 | | | National Championships Great Britain MJ - Gravel (GRV) | | | 16 | | more |
| 05.09 › 07.095-7/9 | | | | Grand Prix Rüebliland (2.1) | | | | | more |
| 53 | | | General classificationGeneral classification | | | | | |
| 07.09 | 54 | | | S3Stage 3 - Altishofen › Altishofen | | 110.5 | | | |
| 06.09 | 86 | 67 | | S2Stage 2 - Kaisten › Kaisten | | 94.4 | | | |
| 05.09 | 20 | 20 | | S1Stage 1 - Sulz › Sulz | | 102 | 14 | | |
| 31.08 | 39 | | | La Route des Géants (1.1) | | 139.2 | | | more |
| 22.08 › 24.0822-24/8 | | | | Vuelta Junior a la Ribera del Duero (2.1) Hot Tubes Development Cycling Team | | | | | more |
| 23.08 | NR | 105 | | S2Stage 2 - Langa de Duero › Laguna Negra (Vinuesa) | | 117.8 | | | |
| 22.08 | 106 | 106 | | S1Stage 1 - Sotillo de la Ribera › Baños de Valdearados | | 85.1 | | | |
| 16.08 › 17.0816-17/8 | | | | La Ronde Des Vallées (2.1) Hot Tubes Development Cycling Team | | | | | more |
| 60 | | | General classificationGeneral classification | | | | | |
| 17.08 | 38 | | | S2bStage 2b - Hémonstoir › Hémonstoir | | 104.7 | | | |
| 17.08 | 1 | 105 | | S2a (ITT)Stage 2a (ITT) - Saint-Caradec › Hémonstoir | | 11.8 | 65 | | |
| 16.08 | 113 | 113 | | S1Stage 1 - La Prénessaye › La Prénessaye | | 106.3 | | | |
| 08.08 › 10.088-10/8 | | | | Aubel-Thimister-Stavelot (2.1) MIX Fensham - Tofauti | | | | | more |
| 55 | | | General classificationGeneral classification | | | | | |
| 10.08 | 59 | | | S3Stage 3 - Stavelot › Stavelot | | 107.1 | | | |
| 09.08 | 72 | 47 | | S2bStage 2b - Thimister › Thimister | | 94.8 | | | |
| 09.08 | 2 | 9 | | S2a (TTT)Stage 2a (TTT) - Thimister › Thimister | | 9 | 90 | | |
| 08.08 | 96 | 96 | | S1Stage 1 - Aubel › Aubel | | 97 | | | |
| 30.07 | 33 | | | Trofee van Vlaanderen (1.1) trainSharp Roman RT | | 139.7 | | | more |
| 08.07 › 13.078-13/7 | | | | Junior Tour of Ireland (NAT) | | | | | more |
| 4 | | | General classificationGeneral classification | | | 36 | | |
| 13.07 | 12 | | | S6Stage 6 - Ennis › Ennis | | 79.1 | 4 | | |
| 12.07 | 10 | | | S5Stage 5 - Ennis › Killaloe | | 118.7 | 5 | | |
| 11.07 | 3 | | | S4Stage 4 - The Burren › Kilfenora | | 122.8 | 10 | | |
| 10.07 | 5 | | | S3Stage 3 - East Clare › Gort | | 115 | 8 | | |
| 09.07 | 7 | | | S2Stage 2 - West Clare › Kilkee | | 96.5 | 6 | | |
| 08.07 | 1 | | | S1Stage 1 - Maghera › Barefield | | 63.6 | 15 | | |
| 06.07 | 17 | | | National Championships Great Britain MJ - Road Race (NC) | | 120 | 14 | | more |
| 02.07 | 61 | | | LOGCO Otley Cycle Races (NAT) | | | | | more |
| 22.06 | 3 | | | CAMS Yorkshire Classic (NAT) | | 119.88 | 40 | | more |
| 31.05 › 01.0631-1/5 | | | | Gipuzkoa Klasikoa (2.1) | | | | | more |
| 39 | | | General classificationGeneral classification | | | | | |
| 01.06 | 42 | | | S2Stage 2 - Egia, Donostia › Egia, Donostia | | 104 | | | |
| 31.05 | 48 | 48 | | S1Stage 1 - Lazkao › Lazkao | | 98.5 | | | |
| 25.05 | DNF | | | Ronde van Vlaanderen MJ (1.1) | | 124.5 | | | more |
| 11.05 | DNF | | | Gent-Wevelgem / Grote Prijs A. Noyelle-Ieper (1.1) | | 120.6 | | | more |
| 10.05 | 69 | | | Liège-Bastogne-Liège MJ (1.1) | | 137.6 | | | more |
| 28.03 | DNF | | | E3 Saxo Classic MJ (1.Ncup) MIX Fensham - Tofauti | | 138.9 | | | more |
| 22.03 › 23.0322-23/3 | | | | Guido Reybrouck Classic (2.1) | | | | | more |
| 12 | | | General classificationGeneral classification | | | 87 | | |
| 23.03 | 14 | | | S2Stage 2 - Damme › Damme | | 119 | 28 | | |
| 22.03 | 10 | 10 | | S1 (ITT)Stage 1 (ITT) - Damme › Damme | | 11.4 | 44 | | |
| 15.03 | 30 | | | Danilith Nokere Koerse MJ (1.1) | | 132 | 4 | | more |
| 02.03 | 8 | | | Kuurne - Brussel - Kuurne Juniors (1.1) | | 122.5 | 104 | | more |