21.07 | 29 | | | Clàssica Terres de l'Ebre (1.1) | 185.8 | | | more |
09.07 › 13.079-13/7 | | | | Tour of Austria (2.1) | | | | more |
| 5 | | | Youth classificationYouth classification | | | | |
| 22 | | | General classificationGeneral classification | | | 3 | |
13.07 | 41 | | | S5Stage 5 - Feldkirch › Feldkirch | 144.2 | | | |
12.07 | 19 | 19 | | S4Stage 4 - Innsbruck › Kühtai | 117.3 | | | |
11.07 | 12 | 18 | | S3Stage 3 - Salzburg/Hellbrunn › Salzburg/Gaisberg | 142.9 | | | |
10.07 | 53 | 27 | | S2Stage 2 - Bischofshofen › St. Johann Alpendorf | 142.1 | | | |
09.07 | 25 | 25 | | S1Stage 1 - Steyr › Steyr | 167.8 | | | |
29.06 | 4 | | | National Championships Ireland ME - Road Race (NC) | 168.2 | 4 | 50 | more |
26.06 | 3 | | | National Championships Ireland ME - ITT (NC) | 25.4 | 2 | 20 | more |
09.05 › 01.069-1/5 | | | | Giro d'Italia (2.UWT) | | | | more |
| 19 | | | Youth classificationYouth classification | | | | |
| 56 | | | Mountains classificationMountains classification | | | | |
| 99 | | | Points classificationPoints classification | | | | |
| 87 | | | General ClassificationGeneral Classification | | 20 | | |
01.06 | 33 | | | S21Stage 21 - Roma › Roma | 143 | | | |
31.05 | 105 | 87 | | S20Stage 20 - Verrès › Sestrière (Vialattea) | 205 | | | |
30.05 | 74 | 84 | | S19Stage 19 - Biella › Champoluc 55k | 166 | | | |
29.05 | 82 | 86 | | S18Stage 18 - Morbegno › Cesano Maderno | 144 | | | |
28.05 | 127 | 86 | | S17Stage 17 - San Michele all’Adige (Fondazione Edmund Mach) › Bormio | 155 | | | |
27.05 | 40 | 80 | | S16Stage 16 - Piazzola sul Brenta › San Valentino (Brentonico) 166k | 203 | | | |
25.05 | 97 | 90 | | S15Stage 15 - Fiume Veneto › Asiago | 219 | | | |
24.05 | 62 | 89 | | S14Stage 14 - Treviso › Nova Gorica | 195 | | | |
23.05 | 89 | 94 | | S13Stage 13 - Rovigo › Vicenza | 180 | | | |
22.05 | 104 | 99 | | S12Stage 12 - Modena › Viadana (Oglio-Po) | 172 | | | |
21.05 | 106 | 99 | | S11Stage 11 - Viareggio › Castelnovo ne' Monti | 186 | | | |
20.05 | 155 | 88 | | S10 (ITT)Stage 10 (ITT) - Lucca › Pisa | 28.6 | | | |
18.05 | 30 | 85 | | S9Stage 9 - Gubbio › Siena | 181 | | | |
17.05 | 78 | 104 | | S8Stage 8 - Giulianova › Castelraimondo | 197 | | | |
16.05 | 126 | 111 | | S7Stage 7 - Castel di Sangro › Tagliacozzo (Marsia) | 168 | | | |
15.05 | 116 | 109 | | S6Stage 6 - Potenza › Napoli | 227 | | | |
14.05 | 111 | 111 | | S5Stage 5 - Ceglie Messapica › Matera | 151 | | | |
13.05 | 170 | 112 | | S4Stage 4 - Alberobello (Pietramadre) › Lecce | 189 | | | |
11.05 | 111 | 112 | | S3Stage 3 - Vlorë › Vlorë | 160 | | | |
10.05 | 180 | 121 | | S2 (ITT)Stage 2 (ITT) - Tirana › Tirana | 13.7 | | | |
09.05 | 113 | 113 | | S1Stage 1 - Durrës › Tirana | 160 | | | |
29.04 › 04.0529-4/4 | | | | Tour de Romandie (2.UWT) | | | | more |
| 17 | | | Youth classificationYouth classification | | | | |
| 41 | | | General classificationGeneral classification | | 5 | 10 | |
04.05 | 48 | | | S5 (ITT)Stage 5 (ITT) - Genève › Genève | 17.1 | | | |
03.05 | 60 | 41 | | S4Stage 4 - Sion › Thyon 2000 | 118.2 | | | |
02.05 | 39 | 30 | | S3Stage 3 - Cossonay › Cossonay | 183.1 | | | |
01.05 | 30 | 28 | | S2Stage 2 - La Grande Béroche › La Grande Béroche | 157 | | | |
30.04 | 18 | 38 | | S1Stage 1 - Münchenstein › Fribourg | 194.3 | | | |
29.04 | 59 | 59 | | ProloguePrologue - Saint-Imier › Saint-Imier | 3.44 | | | |
24.03 › 30.0324-30/3 | | | | Volta Ciclista a Catalunya (2.UWT) | | | | more |
| 17 | | | Youth classificationYouth classification | | | | |
| 87 | | | General classificationGeneral classification | | 5 | | |
30.03 | 93 | | | S7Stage 7 - Barcelona › Barcelona | 88.2 | | | |
29.03 | 91 | 86 | | S6Stage 6 - Berga › Berga | 72 25 | | | |
28.03 | 46 | 90 | | S5Stage 5 - Paüls › Amposta | 165.9 | | | |
27.03 | 86 | 94 | | S4Stage 4 - Sant Vicenç de Castellet › Montserrat Mil·lenari | 188.7 | | | |
26.03 | 113 | 106 | | S3Stage 3 - Viladecans The Style Outlets › La Molina | 218.6 | | | |
25.03 | 28 | 76 | | S2Stage 2 - Banyoles › Figueres | 180.5 | | | |
24.03 | 84 | 85 | | S1Stage 1 - Sant Feliu de Guíxols › Sant Feliu de Guíxols | 178.6 | | | |
05.03 | DNF | | | Trofeo Laigueglia (1.Pro) | 197 | | | more |
22.02 › 23.0222-23/2 | | | | Tour des Alpes-Maritimes (2.1) | | | | more |
| 24 | | | Youth classificationYouth classification | | | | |
| 54 | | | General classificationGeneral classification | | | | |
23.02 | 55 | | | S2Stage 2 - Villefranche-sur-Mer › Vence | 131.8 | | | |
22.02 | 79 | 79 | | S1Stage 1 - Contes › Gourdon | 162.4 | | | |
14.02 › 16.0214-16/2 | | | | Tour de la Provence (2.1) | | | | more |
| 10 | | | Youth classificationYouth classification | | | | |
| 40 | | | General classificationGeneral classification | | | | |
16.02 | 78 | | | S3Stage 3 - Rognac › Arles | 190.6 | | | |
15.02 | 67 | 40 | | S2Stage 2 - Forcalquier › Manosque | 167.3 | | | |
14.02 | 34 | 34 | | S1Stage 1 - Marseille › Saint-Victoret | 169.3 | | | |