| 12-10 | 64 | | Il Lombardia (1.UWT) | 243.0km |
| 10-10 | 77 | | Gran Piemonte (1.HC) | 183.0km |
| 09-10 | 71 | | Milano-Torino (1.HC) | 179.0km |
| | | Tour of Croatia (2.1) |
| 06-10 | DNF | | Stage 6Sveta Nedelja - Zagreb | 160.0km |
| 05-10 | 94 | 89 | Stage 5Rabac - Platak | 142.0km |
| 04-10 | 42 | 88 | Stage 4Starigrad - Crikvenica | 159.0km |
| 03-10 | 42 | 97 | Stage 3Okrug - Makarska | 165.0km |
| 02-10 | 102 | 102 | Stage 2Slunj - Zadar | 186.0km |
| 01-10 | 53 | 55 | Stage 1Osijek - Lipik | 210.0km |
| 22-09 | DNF | | Trofeo Matteotti (1.1) | |
| 21-09 | 52 | | Memorial Marco Pantani (1.1) | |
| 18-09 | DNF | | Giro della Toscana (1.1) | 206.0km |
| 15-09 | 56 | | Coppa Bernocchi (1.1) | |
| 14-09 | 49 | | Coppa Agostoni - Giro delle Brianze (1.1) | 195.0km |
| | | Tour Poitou-Charentes (2.1) |
| 53 | | Standings |
| 30-08 | 91 | 53 | Stage 5Aigre - Poitiers | 167.0km |
| 29-08 | 56 | 36 | Stage 4Leigné-les-bois - Pleumartin | 23.0km |
| 29-08 | 56 | 47 | Stage 3Chatellerault - Pleumartin | 110.0km |
| 28-08 | 49 | 50 | Stage 2Rochefort-sur-Mer - Aigre | 168.0km |
| 27-08 | 80 | 80 | Stage 1Niort - Rochefort-sur-Mer | 188.0km |
| | | Tour du Limousin (2.1) |
| 60 | | Standings |
| 24-08 | 69 | 60 | Stage 4Confolens - Limoges | 177.0km |
| 23-08 | 24 | 61 | Stage 3Chamboulive - Beynat | 176.0km |
| 22-08 | 107 | 87 | Stage 2Rouffiac - Trélissac | 182.0km |
| 21-08 | 44 | 44 | Stage 1Condat-sur-Vienne - Guéret | 172.0km |
| | | Adriatica Ionica Race (2.1) |
| 26-07 | DNF | | Stage 2Palmanova - Tre Cime di Laveredo | 204.0km |
| 25-07 | 69 | 69 | Stage 1Venezia - Grado | 189.0km |
| 30-06 | 26 | | National Road Championships - Italy (CN) | 232.0km |
| | | La Route d'Occitanie (2.1) |
| 6 | | Standings |
| 31 | | Points |
| 26 | | Mountain |
| 23-06 | 22 | 6 | Stage 4Gers - Astarac Arros en Gascogne | 154.0km |
| 22-06 | 8 | 6 | Stage 3Arreau - Luchon | 173.0km |
| 21-06 | 25 | 9 | Stage 2Labruguière - Martres-Tolosane | 187.0km |
| 20-06 | 9 | 9 | Stage 1Gignac - Saint-Geniez-d Olt | 175.0km |
| 09-06 | 6 | | Gran Premio Città di Lugano (1.1) | 179.0km |
| | | Giro d'Italia (2.UWT) |
| 57 | | Standings |
| 38 | | Points |
| 31 | | Mountain |
| 15 | | Youth |
| 02-06 | 71 | 57 | Stage 21Verona - Verona | 15.0km |
| 01-06 | 71 | 57 | Stage 20Feltre - Croce d'Aune | 193.0km |
| 31-05 | 4 | 54 | Stage 19Treviso - San Martino di Castrozza | 151.0km |
| 30-05 | 65 | 60 | Stage 18Valdaora/Olang - Santa Maria di Sala | 220.0km |
| 29-05 | 83 | 57 | Stage 17Val di Sole - Anterselva/Antholz | 180.0km |
| 28-05 | 111 | 57 | Stage 16Lovere - Ponte di Legno Tonale | 194.0km |
| 26-05 | 45 | 50 | Stage 15Ivrea - Como | 237.0km |
| 25-05 | 63 | 50 | Stage 14Saint-Vincent - Courmayeur | 131.0km |
| 24-05 | 107 | 48 | Stage 13Pinerolo - Ceresole Reale | 188.0km |
| 23-05 | 56 | 20 | Stage 12Cuneo - Pinerolo | 146.0km |
| 22-05 | 39 | 9 | Stage 11Carpi - Novi Ligure | 206.0km |
| 21-05 | 47 | 9 | Stage 10Ravenna - Modena | 147.0km |
| 19-05 | 70 | 9 | Stage 9Riccione - San Marino | 34.0km |
| 18-05 | 33 | 3 | Stage 8Tortoreto Lido - Pesaro | 235.0km |
| 17-05 | 53 | 3 | Stage 7Vasto - L'Aquila | 180.0km |
| 16-05 | 5 | 2 | Stage 6Cassino - San Giovanni Rotondo | 233.0km |
| 15-05 | 107 | 34 | Stage 5Frascati - Terracina | 140.0km |
| 14-05 | 28 | 34 | Stage 4Orbetello - Frascati | 228.0km |
| 13-05 | 89 | 68 | Stage 3Vinci - Orbetello | 219.0km |
| 12-05 | 96 | 58 | Stage 2Bologna - Fucecchio | 200.0km |
| 11-05 | 78 | 78 | Stage 1Bologna - Bologna | 8.0km |
| 28-04 | DNF | | Giro dell'Appennino (1.1) | 198.0km |
| | | Tour of the Alps (2.HC) |
| 22 | | Standings |
| 26-04 | 49 | 22 | Stage 5Kaltern - Bolzano | 148.0km |
| 25-04 | 12 | 8 | Stage 4Baselga di Pinè - Clès | 134.0km |
| 24-04 | 11 | 11 | Stage 3Salorno - Baselga di Pinè | 106.0km |
| 23-04 | 18 | 15 | Stage 2Reith im Alpbachtal - Schenna | 178.0km |
| 22-04 | 9 | 8 | Stage 1Kufstein - Kufstein | 144.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 29 | | Standings |
| 31-03 | 43 | 29 | Stage 5Fiorano Modenese - Sassuolo | 153.0km |
| 30-03 | 80 | 25 | Stage 4Crevalcore - Crevalcore | 171.0km |
| 29-03 | 38 | 25 | Stage 3Forlì - Forlì | 166.0km |
| 28-03 | 23 | 26 | Stage 2Riccione - Sogliano al Rubicone | 140.0km |
| 27-03 | 19 | 93 | Stage 1bGatteo a Mare - Gatteo | 13.0km |
| 27-03 | 66 | 124 | Stage 1aGatteo - Gatteo | 97.0km |
| 23-03 | 90 | | Milano-Sanremo (1.UWT) | 291.0km |
| | | Istarsko Proljece - Istrian Spring Trophy (2.2) |
| 17-03 | DNF | | Stage 3Pazin - Umag | 156.0km |
| 16-03 | 22 | 38 | Stage 2Vrsar - Oprtalj | 161.0km |
| 15-03 | 130 | 131 | Stage 1Porec - Labin | 161.0km |
| 14-03 | 130 | 130 | PrologueUmag - Umag | 2.0km |
| 10-03 | DNF | | GP Industria & Artigianato (1.HC) | 199.0km |
| | | Vuelta a Andalucia Ruta Ciclista Del Sol (2.HC) |
| 26 | | Standings |
| 24-02 | 54 | 26 | Stage 5Otura Santa Clara Golf - Alhaurín de la Torre | 164.0km |
| 23-02 | 25 | 26 | Stage 4Armilla - Granada | 120.0km |
| 22-02 | 42 | 33 | Stage 3Mancha Real - La Guardia de Jaén | 16.0km |
| 21-02 | 37 | 42 | Stage 2Sevilla - Torredonjimeno | 216.0km |
| 20-02 | 49 | 49 | Stage 1Sanlúcar de Barrameda - Alcala de los Gazules | 164.0km |
| 17-02 | DNF | | Trofeo Laigueglia (1.HC) | 203.0km |