| 10-10 | 66 | | Gran Piemonte (1.HC) | 183.0km |
| 09-10 | 50 | | Milano-Torino (1.HC) | 179.0km |
| | | Tour of Croatia (2.1) |
| 15 | | Klassement |
| 36 | | Punten |
| 06-10 | 32 | 15 | Stage 6Sveta Nedelja - Zagreb (160.0km) | 160.0km |
| 05-10 | 9 | 15 | Stage 5Rabac - Platak (142.0km) | 142.0km |
| 04-10 | 38 | 44 | Stage 4Starigrad - Crikvenica (159.0km) | 159.0km |
| 03-10 | 37 | 54 | Stage 3Okrug - Makarska (165.0km) | 165.0km |
| 02-10 | 76 | 75 | Stage 2Slunj - Zadar (186.0km) | 186.0km |
| 01-10 | 58 | 60 | Stage 1Osijek - Lipik (210.0km) | 210.0km |
| 22-09 | DNF | | Trofeo Matteotti (1.1) | |
| 21-09 | 43 | | Memorial Marco Pantani (1.1) | |
| 19-09 | DNF | | Coppa Sabatini (1.1) | |
| 18-09 | 20 | | Giro della Toscana (1.1) | 206.0km |
| 15-09 | DNF | | Coppa Bernocchi (1.1) | |
| 14-09 | 42 | | Coppa Agostoni - Giro delle Brianze (1.1) | 195.0km |
| | | Tour du Limousin (2.1) |
| 58 | | Klassement |
| 24-08 | 62 | 58 | Stage 4Confolens - Limoges (177.0km) | 177.0km |
| 23-08 | 50 | 64 | Stage 3Chamboulive - Beynat (176.0km) | 176.0km |
| 22-08 | 51 | 74 | Stage 2Rouffiac - Trélissac (182.0km) | 182.0km |
| 21-08 | 87 | 87 | Stage 1Condat-sur-Vienne - Guéret (172.0km) | 172.0km |
| 30-06 | DNF | | National Road Championships - Italy (CN) | 232.0km |
| | | La Route d'Occitanie (2.1) |
| 34 | | Klassement |
| 23-06 | 50 | 34 | Stage 4Gers - Astarac Arros en Gascogne (154.0km) | 154.0km |
| 22-06 | 33 | 34 | Stage 3Arreau - Luchon (173.0km) | 173.0km |
| 21-06 | 51 | 43 | Stage 2Labruguière - Martres-Tolosane (187.0km) | 187.0km |
| 20-06 | 45 | 45 | Stage 1Gignac - Saint-Geniez-d Olt (175.0km) | 175.0km |
| 09-06 | 46 | | Gran Premio Città di Lugano (1.1) | 179.0km |
| | | Giro d'Italia (2.UWT) |
| 84 | | Klassement |
| 53 | | Punten |
| 21 | | Jongeren |
| 02-06 | 117 | 84 | Stage 21Verona - Verona (15.0km) | 15.0km |
| 01-06 | 84 | 84 | Stage 20Feltre - Croce d'Aune (193.0km) | 193.0km |
| 31-05 | 61 | 80 | Stage 19Treviso - San Martino di Castrozza (151.0km) | 151.0km |
| 30-05 | 120 | 83 | Stage 18Valdaora/Olang - Santa Maria di Sala (220.0km) | 220.0km |
| 29-05 | 65 | 84 | Stage 17Val di Sole - Anterselva/Antholz (180.0km) | 180.0km |
| 28-05 | 80 | 84 | Stage 16Lovere - Ponte di Legno Tonale (194.0km) | 194.0km |
| 26-05 | 115 | 85 | Stage 15Ivrea - Como (237.0km) | 237.0km |
| 25-05 | 80 | 76 | Stage 14Saint-Vincent - Courmayeur (131.0km) | 131.0km |
| 24-05 | 65 | 69 | Stage 13Pinerolo - Ceresole Reale (188.0km) | 188.0km |
| 23-05 | 14 | 82 | Stage 12Cuneo - Pinerolo (146.0km) | 146.0km |
| 22-05 | 89 | 108 | Stage 11Carpi - Novi Ligure (206.0km) | 206.0km |
| 21-05 | 85 | 109 | Stage 10Ravenna - Modena (147.0km) | 147.0km |
| 19-05 | 146 | 110 | Stage 9Riccione - San Marino (34.0km) | 34.0km |
| 18-05 | 135 | 105 | Stage 8Tortoreto Lido - Pesaro (235.0km) | 235.0km |
| 17-05 | 110 | 97 | Stage 7Vasto - L'Aquila (180.0km) | 180.0km |
| 16-05 | 39 | 95 | Stage 6Cassino - San Giovanni Rotondo (233.0km) | 233.0km |
| 15-05 | 142 | 124 | Stage 5Frascati - Terracina (140.0km) | 140.0km |
| 14-05 | 84 | 126 | Stage 4Orbetello - Frascati (228.0km) | 228.0km |
| 13-05 | 134 | 133 | Stage 3Vinci - Orbetello (219.0km) | 219.0km |
| 12-05 | 135 | 135 | Stage 2Bologna - Fucecchio (200.0km) | 200.0km |
| 11-05 | 121 | 121 | Stage 1Bologna - Bologna (8.0km) | 8.0km |
| 28-04 | 45 | | Giro dell'Appennino (1.1) | 198.0km |
| | | Tour of the Alps (2.HC) |
| 30 | | Klassement |
| 26-04 | 40 | 30 | Stage 5Kaltern - Bolzano (148.0km) | 148.0km |
| 25-04 | 31 | 29 | Stage 4Baselga di Pinè - Clès (134.0km) | 134.0km |
| 24-04 | 30 | 28 | Stage 3Salorno - Baselga di Pinè (106.0km) | 106.0km |
| 23-04 | 31 | 35 | Stage 2Reith im Alpbachtal - Schenna (178.0km) | 178.0km |
| 22-04 | 66 | 66 | Stage 1Kufstein - Kufstein (144.0km) | 144.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 64 | | Klassement |
| 31-03 | 77 | 64 | Stage 5Fiorano Modenese - Sassuolo (153.0km) | 153.0km |
| 30-03 | 82 | 55 | Stage 4Crevalcore - Crevalcore (171.0km) | 171.0km |
| 29-03 | 56 | 56 | Stage 3Forlì - Forlì (166.0km) | 166.0km |
| 28-03 | 59 | 56 | Stage 2Riccione - Sogliano al Rubicone (140.0km) | 140.0km |
| 27-03 | 19 | 92 | Stage 1bGatteo a Mare - Gatteo (13.0km) | 13.0km |
| 27-03 | 86 | 100 | Stage 1aGatteo - Gatteo (97.0km) | 97.0km |
| | | Vuelta a Andalucia Ruta Ciclista Del Sol (2.HC) |
| 78 | | Klassement |
| 24-02 | 55 | 78 | Stage 5Otura Santa Clara Golf - Alhaurín de la Torre (164.0km) | 164.0km |
| 23-02 | 64 | 85 | Stage 4Armilla - Granada (120.0km) | 120.0km |
| 22-02 | 99 | 86 | Stage 3Mancha Real - La Guardia de Jaén (16.0km) | 16.0km |
| 21-02 | 76 | 81 | Stage 2Sevilla - Torredonjimeno (216.0km) | 216.0km |
| 20-02 | 89 | 89 | Stage 1Sanlúcar de Barrameda - Alcala de los Gazules (164.0km) | 164.0km |
| 17-02 | DNF | | Trofeo Laigueglia (1.HC) | 203.0km |