17.10 | 72 | | | Veneto Classic (1.1) | 206.5 | | | more |
13.10 | 59 | | | Giro del Veneto (1.1) | 168.8 | | | more |
03.10 | 37 | | | Il Piccolo Lombardia (1.2U) | 169.8 | | | more |
20.09 › 26.0920-26/9 | | | | Le Tour de Bretagne Cycliste (2.2) | | | | more |
| 19 | | | Youth classificationYouth classification | | | | |
| 34 | | | Mountains classificationMountains classification | | | | |
| 52 | | | Points classificationPoints classification | | | | |
| 40 | | | General classificationGeneral classification | | | | |
26.09 | 71 | | | S7Stage 7 - Guitté › Dinan | 155.3 | | | |
25.09 | 49 | 37 | | S6Stage 6 - Quédillac › Fougères | 166 | | | |
24.09 | 75 | 39 | | S5Stage 5 - Châteaubriant › Boisgervilly | 217 | | | |
23.09 | 79 | 40 | | S4Stage 4 - Ploeren › Louisfert | 167.6 | | | |
22.09 | 32 | 42 | | S3Stage 3 - Rosporden › Brandivy | 170.5 | | | |
21.09 | 92 | 75 | | S2Stage 2 - Corlay › Rosporden | 169.1 | | | |
20.09 | 56 | 57 | | S1Stage 1 - Le Cambout › Allineuc | 159 | | | |
03.09 › 05.093-5/9 | | | | Giro della Regione Friuli Venezia Giulia (2.2) | | | | more |
| 76 | | | General classificationGeneral classification | | | | |
05.09 | 134 | | | S3Stage 3 - Mortegliano › Pordenone | 157 | | | |
04.09 | 74 | 74 | | S2Stage 2 - Casarsa della Delizia › Piancavallo | 142 | | | |
03.09 | 61 | 61 | | S1Stage 1 - Rive d’Arcano › Tarvisio | 153 | | | |
30.07 › 02.0830-2/7 | | | | Kreiz Breizh Elites (2.2) | | | | more |
| 13 | | | Youth classificationYouth classification | | | | |
| 37 | | | General classificationGeneral classification | | | | |
02.08 | 47 | | | S4Stage 4 - Guingamp › Rostrenen | 172.6 | | | |
01.08 | 45 | 46 | | S3Stage 3 - Ploërdut › Carhaix | 180.5 | | | |
31.07 | 85 | 106 | | S2Stage 2 - Calanhel › Plouray | 189.9 | | | |
30.07 | 14 | 135 | | S1 (TTT)Stage 1 (TTT) - Ploumagoar › Ploumagoar | 12.5 | | | |
16.07 › 18.0716-18/7 | | | | Giro Ciclistico della Valle d'Aosta - Mont Blanc (2.2U) | | | | more |
| 12 | | | Mountains classificationMountains classification | | | | |
| 65 | | | General classificationGeneral classification | | | | |
18.07 | 50 | | | S3Stage 3 - Fénis › Cogne (Valnontey) | 149 | | | |
17.07 | 76 | 73 | | S2Stage 2 - Valtournenche › Breuil Cervinia | 158.4 | | | |
16.07 | 83 | 83 | | S1Stage 1 - Pollein › Pollein | 110.7 | | | |
04.07 | 15 | | | Giro del Medio Brenta (1.2) | 171.6 | | | more |
24.06 | 77 | | | Giro dell'Appennino (1.1) | 192.1 | | | more |
19.06 | 38 | | | National Championships Italy MU - Road Race (NC) | 175 | | | more |
30.05 | 27 | | | Coppa della Pace - Trofeo F.lli Anelli (1.2U) | 172 | | | more |
19.05 › 23.0519-23/5 | | | | Alpes Isère Tour (2.2) | | | | more |
| 14 | | | Youth classificationYouth classification | | | | |
| 46 | | | General classificationGeneral classification | | | | |
23.05 | 51 | | | S5Stage 5 - Pressins › Crolles | 141.4 | | | |
22.05 | 36 | 48 | | S4Stage 4 - Les Roches-de-Condrieu › Saint-Maurice-l'Exil | 174 | | | |
21.05 | 50 | 50 | | S3Stage 3 - Saint-Exupéry › Pusignan | 157.8 | | | |
20.05 | 51 | 59 | | S2Stage 2 - Saint-Jean-de-Soudain › La Verpillière | 167.3 | | | |
19.05 | 108 | 108 | | S1Stage 1 - Charvieu-Chavagneux › Charvieu-Chavagneux | 136.4 | | | |
18.04 | DNF | | | Tr. Città di S. Vendemiano - 61° GP Industria & Commercio (1.2U) | 179.6 | | | more |
23.03 › 27.0323-27/3 | | | | Settimana Internazionale Coppi e Bartali (2.1) | | | | more |
27.03 | DNF | | | S5Stage 5 - Forlì › Forlì | 166.2 | | | |
26.03 | 88 | 115 | | S4Stage 4 - San Marino › San Marino | 154.8 | | | |
25.03 | 151 | 149 | | S3Stage 3 - Riccione › Riccione | 139 | | | |
24.03 | 138 | 151 | | S2Stage 2 - Riccione › Sogliano al Rubicone | 163.5 | | | |
23.03 | 9 | 151 | | S1b (TTT)Stage 1b (TTT) - Gatteo › Gatteo | 10.8 | | | |
23.03 | 130 | 130 | | S1aStage 1a - Gatteo › Gatteo | 97.8 | | | |
21.03 | 77 | | | Per Sempre "Alfredo" (1.1) | 162 | | | more |