20.10 | 15 | | | Veneto Classic (1.Pro) | 191.7 | 12 | 10 | more |
16.10 | 42 | | | Giro del Veneto (1.Pro) | 165.35 | | | more |
10.10 | 71 | | | Gran Piemonte (1.Pro) | 182 | | | more |
08.10 | NR | | | Tre Valli Varesine (1.Pro) | 168.33 57.9 | | | more |
07.10 | 90 | | | Coppa Bernocchi - GP Banco BPM (1.Pro) | 174.34 | | | more |
05.10 | DNF | | | Giro dell'Emilia (1.Pro) | 215.3 | | | more |
15.09 | 37 | | | Trofeo Matteotti (1.1) | 194 | | | more |
14.09 | 10 | | | Memorial Marco Pantani (1.1) | 195.4 | 14 | 20 | more |
12.09 | 19 | | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | 197.6 | 7 | 5 | more |
08.09 | 9 | | | GP Industria & Artigianato (1.Pro) | 168.8 | 26 | 40 | more |
28.08 | 24 | | | Muur Classic Geraardsbergen (1.1) | 180.2 | | 3 | more |
12.08 › 18.0812-18/8 | | | | Tour de Pologne (2.UWT) | | | | more |
16.08 | DNS | | | S5Stage 5 - Katowice › Katowice | 187.6 | | | |
15.08 | 130 | 32 | | S4Stage 4 - Kudowa-Zdrój › Prudnik | 195.3 | | | |
14.08 | 21 | 34 | | S3Stage 3 - Wałbrzych › Duszniki-Zdrój | 156.5 | | | |
13.08 | 54 | 43 | | S2 (ITT)Stage 2 (ITT) - Mysłakowice › Karpacz | 15.4 | | | |
12.08 | 46 | 46 | | S1Stage 1 - Wrocław › Karpacz | 156.1 | | | |
04.08 › 07.084-7/8 | | | | Arctic Race of Norway (2.Pro) | | | | more |
| 28 | | | Points classificationPoints classification | | | | |
| 13 | | | General classificationGeneral classification | | 28 | 20 | |
07.08 | 8 | | | S4Stage 4 - Glomfjord (Meløy) › Bodø | 157.1 | 1 | | |
06.08 | 14 | 18 | | S3Stage 3 - Tverlandet › Sulitjelma (Jakobsbakken) | 155.7 | | | |
05.08 | 26 | 37 | | S2Stage 2 - Beiarn › Fauske | 178.1 | | | |
04.08 | 53 | 55 | | S1Stage 1 - Bodø › Rognan | 155.3 | | | |
23.06 | 11 | | | National Championships Italy ME - Road Race (NC) | 228 | | 3 | more |
09.06 › 16.069-16/6 | | | | Tour de Suisse (2.UWT) | | | | more |
| 64 | | | General classificationGeneral classification | | 5 | | |
16.06 | 47 | | | S8 (ITT)Stage 8 (ITT) - Aigle › Villars-sur-Ollon | 15.7 | | | |
15.06 | 57 | 66 | | S7Stage 7 - Villars-sur-Ollon › Villars-sur-Ollon | 118.2 | | | |
14.06 | 29 | 67 | | S6Stage 6 - Ulrichen › Blatten | 42.5 | | | |
13.06 | 51 | 75 | | S5Stage 5 - Ambrì › Carì | 148.6 | | | |
12.06 | 103 | 95 | | S4Stage 4 - Rüschlikon › Gotthard Pass | 171 | | | |
11.06 | 86 | 79 | | S3Stage 3 - Steinmaur › Rüschlikon | 161.7 | | | |
10.06 | 75 | 81 | | S2Stage 2 - Vaduz › Regensdorf | 177.3 | | | |
09.06 | 139 | 139 | | S1 (ITT)Stage 1 (ITT) - Vaduz › Vaduz | 4.77 | | | |
07.06 | 40 | | | Grosser Preis des Kantons Aargau (1.1) | 173.8 | | | more |
26.05 | 12 | | | Rund um Köln (1.1) | 194.8 | 10 | 10 | more |
01.05 | DNF | | | Eschborn-Frankfurt (1.UWT) | 201.5 | | | more |
28.04 | 12 | | | Lotto Famenne Ardenne Classic (1.1) | 195 | 10 | 10 | more |
17.04 | DNF | | | La Flèche Wallonne (1.UWT) | 198.6 | | | more |
14.04 | 23 | | | Amstel Gold Race (1.UWT) | 253.6 | 12 | 20 | more |
10.04 | 19 | | | De Brabantse Pijl - La Flèche Brabançonne ME (1.Pro) | 195.2 | 7 | 5 | more |
30.03 | 27 | | | Volta NXT Classic (1.1) 115k | 190.8 | | | more |
19.03 › 23.0319-23/3 | | | | Settimana Internazionale Coppi e Bartali (2.1) | | | | more |
| 17 | | | Mountains classificationMountains classification | | | | |
| 9 | | | Points classificationPoints classification | | | | |
| 17 | | | General classificationGeneral classification | | 4 | 3 | |
23.03 | 5 | | | S5Stage 5 - Forlì › Forlì | 157.9 | 4 | | |
22.03 | 25 | 18 | | S4Stage 4 - Brisighella › Brisighella 86k | 150.7 | | | |
21.03 | 5 | 6 | | S3Stage 3 - Riccione › Riccione | 132.2 | 4 | | |
20.03 | 7 | 5 | | S2Stage 2 - Riccione › Sogliano al Rubicone | 156.5 | 2 | | |
19.03 | 10 | 10 | | S1Stage 1 - Pesaro › Pesaro | 109.7 | | | |
13.03 | 6 | | | Milano - Torino (1.Pro) | 177 | 40 | 70 | more |
02.03 | DNF | | | Strade Bianche (1.UWT) | 215 | | | more |
22.02 › 25.0222-25/2 | | | | O Gran Camiño - The Historical Route (2.1) | | | | more |
25.02 | DNF | | | S4Stage 4 - Ponteareas › Tui | 132 | | | |
24.02 | 8 | 40 | | S3Stage 3 - Xinzo de Limia › Castelo de Ribadavia | 173.2 | 1 | | |
23.02 | 74 | 74 | | S2Stage 2 - Taboada › Chantada | 151.2 | | | |
22.02 | 98 | 98 | | S1 (ITT)Stage 1 (ITT) - A Coruña › A Coruña | 14.8 | | | |
12.02 | 11 | | | Clásica Jaén (1.1) | 158.3 | 12 | 15 | more |
10.02 | 10 | | | Vuelta Ciclista a la Region de Murcia "Costa Calida" (1.1) | 198.7 | 14 | 20 | more |
30.01 › 03.0230-3/1 | | | | AlUla Tour (2.1) | | | | more |
| 19 | | | Points classificationPoints classification | | | | |
| 5 | | | General classificationGeneral classification | | 28 | 50 | |
03.02 | 7 | | | S5Stage 5 - AlUla Old Town › Skyviews of Harrat Uwayrid | 150.2 | 2 | | |
02.02 | 20 | 9 | | S4Stage 4 - Hegra › Maraya | 142.2 | | | |
01.02 | 27 | 10 | | S3Stage 3 - AlUla International Airport › AlUla Camel Cup Track | 170.6 | | | |
31.01 | 11 | 13 | | S2Stage 2 - AlUla Winter Park › Sharaan Nature Reserve | 199.1 | | | |
30.01 | 16 | 19 | | S1Stage 1 - Al Manshiya Train Station › Al Manshiya Train Station | 149.1 | | | |