| 26.09 | DNF | | | World Championships MJ - Road Race (WC) | | 127.2 | | | more |
| 06.09 › 08.096-8/9 | | | | Grand Prix Rüebliland (2.1) | | | | | more |
| 9 | | | Mountains classificationMountains classification | | | | | |
| 40 | | | General classificationGeneral classification | | | | | |
| 08.09 | 19 | | | S3Stage 3 - Vordemwald › Vordemwald | | 105.2 | 16 | | |
| 07.09 | 89 | 61 | | S2bStage 2b - Seon › Seon | | 49.5 | | | |
| 07.09 | 58 | 39 | | S2aStage 2a - Seon › Seon | | 60.3 | | | |
| 06.09 | 40 | 41 | | S1Stage 1 - Schneisingen › Schneisingen | | 85.5 | | | |
| 25.08 | 63 | | | Trofeo Emilio Paganessi (1.1) | | 137 | | | more |
| 24.08 | 68 | | | Trofeo Comune di Vertova - Memorial Pietro Merelli (1.1) | | 81 | | | more |
| 10.07 › 14.0710-14/7 | | | | Ain Bugey Valromey Tour (2.1) | | | | | more |
| 15 | | | Points classificationPoints classification | | | | | |
| 57 | | | General classificationGeneral classification | | | | | |
| 14.07 | 89 | | | S5Stage 5 - Virignin › Champagne-en-Valromey | | 96.1 | | | |
| 13.07 | 66 | 61 | | S4Stage 4 - Frontonas › Tignieu-Jameyzieu | | 95.5 | | | |
| 12.07 | 113 | 65 | | S3Stage 3 - Meximieux › Ordonnaz | | 89 | | | |
| 11.07 | 1 | 3 | | S2Stage 2 - Beaupont › Le Plateau d'Hauteville | | 130 | 100 | | |
| 10.07 | 44 | 12 | | S1Stage 1 - Culoz › Artemare | | 85.5 | | | |
| 30.06 | 2 | | | Grand Prix de Luxembourg (1.1) | | 109.1 | 112 | | more |
| 29.06 | 8 | | | GP Général Patton (1.1) | | 108.5 | 65 | | more |
| 22.06 | 1 | | | National Championships Ireland MJ - Road Race (NC) | | 108 | 25 | | more |
| 20.06 | 3 | | | National Championships Ireland MJ - ITT (NC) | | 36.6 | 20 | | more |
| 16.06 | 7 | | | TF GD Dorigo MO Sogno Veneto MO Ettore e Cristiano Floriani MO Emilio Mazzero (1.1) | | 134.7 | 112 | | more |
| 15.06 | 1 | | | Gran Premio Eccellenze Valli del Soligo (Cronosquadre) (1.1) | | 17.6 | 50 | | more |
| 19.05 | 29 | | | Ronde van Vlaanderen MJ (1.1) | | 128.7 | 6 | | more |
| 02.05 › 05.052-5/5 | | | | Course de la Paix Juniors (2.Ncup) Ireland | | | | | more |
| 17 | | | General classificationGeneral classification | | | 80 | | |
| 05.05 | 43 | | | S4Stage 4 - Terezín › Terezín | | 98.3 | | | |
| 04.05 | 41 | 17 | | S3Stage 3 - Teplice › Olbernhau | | 133.9 | | | |
| 03.05 | 31 | 22 | | S2bStage 2b - Roudnice › Štětí | | 61.4 | | | |
| 03.05 | 33 | 22 | | S2a (ITT)Stage 2a (ITT) - Třebívlice › Třebívlice | | 8.8 | | | |
| 02.05 | 44 | 45 | | S1Stage 1 - Litoměřice › Litoměřice | | 100.9 | | | |
| 27.04 › 28.0427-28/4 | | | | Grand Prix West Bohemia (2.1) | | | | | more |
| 6 | | | Mountains classificationMountains classification | | | | | |
| 5 | | | Points classificationPoints classification | | | | | |
| 3 | | | General classificationGeneral classification | | | 120 | | |
| 28.04 | 45 | | | S2Stage 2 - Kyšice › Kyšice | | 134 | | | |
| 27.04 | 3 | 3 | | S1Stage 1 - Kyšice › Kyšice | | 120.6 | 50 | | |
| 18.04 › 21.0418-21/4 | | | | Eroica Juniores - Nations' Cup (2.Ncup) | | | | | more |
| 9 | | | Points classificationPoints classification | | | | | |
| 3 | | | General classificationGeneral classification | | | 320 | | |
| 21.04 | 31 | | | S4Stage 4 - Siena › Chiusdino | | 102.7 | | | |
| 20.04 | NR | 1 | | S3Stage 3 - Siena › Montevarchi | | 102.5 56.1 | | | |
| 19.04 | 10 | 1 | | S2Stage 2 - Cinigiano › Siena | | 110.6 | 44 | | |
| 18.04 | 6 | 1 | | S1bStage 1b - Castiglione della Pescaia › Castiglione della Pescaia | | 68.3 | 60 | | |
| 18.04 | 1 | 5 | | S1a (TTT)Stage 1a (TTT) - Punta Ala › Castiglione della Pescaia | | 22.5 | 100 | | |
| 07.04 | 30 | | | Paris-Roubaix Juniors (1.Ncup) | | 111 | 4 | | more |
| 31.03 | 12 | | | The Proper Northern RR Series - Round 1 - Capernwray (NAT) | | | | | more |
| 16.03 › 17.0316-17/3 | | | | Guido Reybrouck Classic (2.1) | | | | | more |
| 18 | | | General classificationGeneral classification | | | 43 | | |
| 17.03 | 48 | | | S2Stage 2 - Damme › Damme | | 121.9 | | | |
| 16.03 | 29 | 29 | | S1 (ITT)Stage 1 (ITT) - Damme › Damme | | 11.4 | 3 | | |