| 16-10 | 87 | | Veneto Classic (1.1) | 190.0km |
| 12-10 | 54 | | Giro del Veneto (1.1) | 159.0km |
| 08-10 | 103 | | Il Lombardia (1.UWT) | 253.0km |
| 06-10 | 138 | | Gran Piemonte (1.Pro) | 198.0km |
| | | Cro Race (2.1) |
| 64 | | Klassement |
| 36 | | Punten |
| 02-10 | 89 | 64 | Stage 6Sveta Nedelja - Zagreb (158.0km) | 158.0km |
| 01-10 | 59 | 61 | Stage 5Opatija - Labin (154.0km) | 154.0km |
| 30-09 | 98 | 97 | Stage 4Biograd na Moru - Crikvenica (219.0km) | 219.0km |
| 29-09 | 110 | 91 | Stage 3Sinj - Primosten (157.0km) | 157.0km |
| 28-09 | 87 | 42 | Stage 2Otočac - Zadar (163.0km) | 163.0km |
| 27-09 | 51 | 44 | Stage 1Osijek - Ludbreg (223.0km) | 223.0km |
| | | Tour de Slovaquie (2.1) |
| 69 | | Klassement |
| 17-09 | 111 | 69 | Stage 4Levoca - Košice (182.0km) | 182.0km |
| 16-09 | 81 | 71 | Stage 3Detva - Spišská Nová Ves (214.0km) | 214.0km |
| 15-09 | 62 | 45 | Stage 2Hlohovec - Banská Štiavnica (186.0km) | 186.0km |
| 14-09 | 49 | 17 | Stage 1Bratislava - Trnava (139.0km) | 139.0km |
| 13-09 | 19 | 19 | PrologueBratislava - Bratislava (7.0km) | 7.0km |
| | | Tour Poitou - Charentes (2.1) |
| 22 | | Klassement |
| 31 | | Punten |
| 26-08 | 12 | 22 | Stage 4Mansle - Poitiers (185.0km) | 185.0km |
| 25-08 | 30 | 25 | Stage 3bSmarves - Vivonne (18.0km) | 18.0km |
| 25-08 | 40 | 19 | Stage 3aNieuil-l'Espoir - Vivonne (90.0km) | 90.0km |
| 24-08 | 53 | 8 | Stage 2Périgny - Vars (195.0km) | 195.0km |
| 23-08 | 67 | 69 | Stage 1Chauray - Périgny (193.0km) | 193.0km |
| | | Tour du Limousin (2.1) |
| 93 | | Klassement |
| 19-08 | 105 | 93 | Stage 4Saint-Laurent-sur-Gorre - Limoges (174.0km) | 174.0km |
| 18-08 | 90 | 92 | Stage 3Donzenac - Malemort (181.0km) | 181.0km |
| 17-08 | 128 | 122 | Stage 2Périgueux - Ribérac (184.0km) | 184.0km |
| 16-08 | 120 | 121 | Stage 1Verneuil-sur-Vienne - La Souterraine (176.0km) | 176.0km |
| 26-06 | DNF | | National Road Championships - Italy (CN) | 237.0km |
| 22-06 | 10 | | National Road Championships - Italy TT (CN) | |
| | | Giro d'Italia (2.UWT) |
| 126 | | Klassement |
| 72 | | Punten |
| 37 | | Jongeren |
| 29-05 | 66 | 126 | Stage 21Verona - Verona (17.0km) | 17.0km |
| 28-05 | 94 | 126 | Stage 20Belluno - Marmolada (168.0km) | 168.0km |
| 27-05 | 113 | 132 | Stage 19Marano Lagunare - Santuario di Castelmonte (178.0km) | 178.0km |
| 26-05 | 150 | 132 | Stage 18Borgo Valsugana - Treviso (152.0km) | 152.0km |
| 25-05 | 140 | 131 | Stage 17Ponte di Legno Tonale - Lavarone (168.0km) | 168.0km |
| 24-05 | 134 | 131 | Stage 16Salo - Aprica (202.0km) | 202.0km |
| 22-05 | 111 | 135 | Stage 15Rivarolo Canavese - Cogne (177.0km) | 177.0km |
| 21-05 | 115 | 136 | Stage 14Santenay - Torino (147.0km) | 147.0km |
| 20-05 | 158 | 142 | Stage 13Sanremo - Cuneo (150.0km) | 150.0km |
| 19-05 | 80 | 141 | Stage 12Parma - Genova (204.0km) | 204.0km |
| 18-05 | 79 | 144 | Stage 11Santarcangelo di Romagna - Reggio Emilia (203.0km) | 203.0km |
| 17-05 | 160 | 147 | Stage 10Pescara - Jesi (196.0km) | 196.0km |
| 15-05 | 122 | 135 | Stage 9Isernia - Blockhaus (191.0km) | 191.0km |
| 14-05 | 134 | 134 | Stage 8Napoli - Napoli (153.0km) | 153.0km |
| 13-05 | 147 | 129 | Stage 7Diamante - Potenza (196.0km) | 196.0km |
| 12-05 | 142 | 122 | Stage 6Palmi - Scalea (192.0km) | 192.0km |
| 11-05 | 81 | 122 | Stage 5Catania - Messina (174.0km) | 174.0km |
| 10-05 | 117 | 132 | Stage 4Avola - Etna (172.0km) | 172.0km |
| 08-05 | 166 | 166 | Stage 3Kaposvár - Balatonfüred (201.0km) | 201.0km |
| 07-05 | 105 | 162 | Stage 2Budapest - Budapest (9.0km) | 9.0km |
| 06-05 | 163 | 163 | Stage 1Budapest - Visegrád (195.0km) | 195.0km |
| | | Presidential Cycling Tour of Türkiye (2.Pro) |
| 27 | | Klassement |
| 17-04 | | 27 | Stage 8Istanbul - Istanbul (136.0km) | 136.0km |
| 16-04 | 41 | 27 | Stage 7Gallipoli - Tekirdag (135.0km) | 135.0km |
| 15-04 | 104 | 29 | Stage 6Edremit - Eceabat (205.0km) | 205.0km |
| 14-04 | 112 | | Stage 5Manisa - Ayvalik (192.0km) | 192.0km |
| 13-04 | 22 | 18 | Stage 4İzmir - Manisa (147.0km) | 147.0km |
| 12-04 | 63 | 31 | Stage 3Çeşme - İzmir (123.0km) | 123.0km |
| 11-04 | 43 | 33 | Stage 2Selçuk - Alacati (158.0km) | 158.0km |
| 10-04 | 43 | 43 | Stage 1Bodrum - Kusadasi (207.0km) | 207.0km |
| 27-03 | 45 | | GP Industria & Artigianato (1.Pro) | 192.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 26-03 | DNF | | Stage 5Casalguidi - Cantagrillo di Serravalle (160.0km) | 160.0km |
| 25-03 | 62 | 69 | Stage 4Montecatini - Montecatini (158.0km) | 158.0km |
| 24-03 | 112 | 73 | Stage 3San Marino - San Marino (147.0km) | 147.0km |
| 23-03 | 59 | 73 | Stage 2Riccione - Longiano (165.0km) | 165.0km |
| 22-03 | 81 | 81 | Stage 1Riccione - Riccione (164.0km) | 164.0km |
| 19-03 | 74 | | Milano-Sanremo (1.UWT) | 293.0km |
| 16-03 | 93 | | Milano - Torino (1.Pro) | 199.0km |
| 05-03 | 86 | | Strade Bianche (1.UWT) | 184.0km |
| 02-03 | 66 | | Trofeo Laigueglia (1.Pro) | 202.0km |
| | | Gran Camiño (2.1) |
| 32 | | Klassement |
| 27-02 | 25 | 32 | Stage 4Sarria - Sarria (15.0km) | 15.0km |
| 26-02 | 31 | 33 | Stage 3Maceda - Luintra (148.0km) | 148.0km |
| 25-02 | 78 | 79 | Stage 2Bertamirans - Ezaro (177.0km) | 177.0km |
| 24-02 | 101 | 101 | Stage 1Porrino - Vigo (165.0km) | 165.0km |
| | | Tour of Antalya (2.1) |
| 20 | | Klassement |
| 13-02 | 107 | 20 | Stage 4Antalya - Antalya (162.0km) | 162.0km |
| 12-02 | 19 | 20 | Stage 3Aspendos - Termessos (110.0km) | 110.0km |
| 11-02 | 86 | 86 | Stage 2Kemer - Antalya (183.0km) | 183.0km |
| 10-02 | 129 | 111 | Stage 1Side - Antalya (144.0km) | 144.0km |
| 30-01 | 149 | | Trofeo Playa de Palma - Palma (1.1) | |
| 29-01 | 128 | | Trofeo Pollença - Port d' Andratx (1.1) | |
| 27-01 | 133 | | Trofeo Alcúdia - Port d'Alcúdia (1.1) | |