| 11-10 | DNF | | Il Lombardia (1.UWT) | 238.0km |
| 07-10 | DNF | | Tre Valli Varesine (1.Pro) | 200.0km |
| 06-10 | 20 | | Coppa Bernocchi (1.Pro) | 191.0km |
| 05-10 | 6 | | Coppa Agostoni (1.1) | 166.0km |
| | | Škoda Tour de Luxembourg (2.Pro) |
| 32 | | Klassement |
| 4 | | Punten |
| 21-09 | 23 | 32 | Stage 5Mersch - Luxembourg (176.0km) | 176.0km |
| 20-09 | 61 | 42 | Stage 4Niederanven - Niederanven (26.0km) | 26.0km |
| 19-09 | 45 | 38 | Stage 3Mertert - Vianden (170.0km) | 170.0km |
| 18-09 | 2 | 2 | Stage 2Remich - Mamer (168.0km) | 168.0km |
| 17-09 | 4 | 4 | Stage 1Luxembourg - Luxembourg (152.0km) | 152.0km |
| 31-08 | 53 | | Bretagne Classic - Ouest-France (1.UWT) | 261.0km |
| | | Tour du Limousin (2.1) |
| 8 | | Klassement |
| 19 | | Berg |
| 22-08 | 1 | 8 | Stage 4Bonneval - Limoges (164.0km) | 164.0km |
| 21-08 | 5 | 9 | Stage 3Saint-Jal - Masseret (182.0km) | 182.0km |
| 20-08 | 9 | 9 | Stage 2Thiviers - Grèzes (174.0km) | 174.0km |
| 19-08 | 4 | 5 | Stage 1Panazol - La Courtine (184.0km) | 184.0km |
| | | Tour de l'Ain (2.1) |
| 9 | | Klassement |
| 4 | | Punten |
| 14 | | Berg |
| 08-08 | 7 | 9 | Stage 3Plateau d'Hauteville - Belley (130.0km) | 130.0km |
| 07-08 | 10 | 10 | Stage 2Saint-Vulbas - Lélex Monts-Jura (153.0km) | 153.0km |
| 06-08 | 3 | 3 | Stage 1Feillens - Lagnieu (163.0km) | 163.0km |
| 29-06 | 12 | | National Road Championships - Italy (CN) | 223.0km |
| | | La Route d'Occitanie - CIC (2.1) |
| 36 | | Klassement |
| 6 | | Punten |
| 21-06 | 2 | 36 | Stage 4Saint-Gaudens - Saint-Girons (128.0km) | 128.0km |
| 20-06 | 56 | 53 | Stage 3Pujaudran - Luz-Ardiden (173.0km) | 173.0km |
| 19-06 | 19 | 20 | Stage 2Gignac - Carmaux (195.0km) | 195.0km |
| 18-06 | 22 | 22 | Stage 1Saint-Affrique - Roquefortf (10.0km) | 10.0km |
| | | Giro d'Italia (2.UWT) |
| 35 | | Klassement |
| 87 | | Punten |
| 01-06 | 48 | 35 | Stage 21Rome - Rome (143.0km) | 143.0km |
| 31-05 | 19 | 35 | Stage 20Verrès - Sestriere (205.0km) | 205.0km |
| 30-05 | 82 | 43 | Stage 19Biella - Champoluc (166.0km) | 166.0km |
| 29-05 | 16 | 31 | Stage 18Morbegno - Cesano Maderno (144.0km) | 144.0km |
| 28-05 | 27 | 38 | Stage 17San Michele all'Adige - Bormio (155.0km) | 155.0km |
| 27-05 | 60 | 49 | Stage 16Piazzola sul Brenta - San Valentino di Brentonico (203.0km) | 203.0km |
| 25-05 | 78 | 46 | Stage 15Fiume - Asiago (219.0km) | 219.0km |
| 24-05 | 29 | 37 | Stage 14Treviso - Nova Gorica (195.0km) | 195.0km |
| 23-05 | 41 | 42 | Stage 13Rovigo - Viacenza (180.0km) | 180.0km |
| 22-05 | 113 | 46 | Stage 12Modena - Viadana (172.0km) | 172.0km |
| 21-05 | 79 | 48 | Stage 11Viareggio - Castelnovo ne' Monti (186.0km) | 186.0km |
| 20-05 | 45 | 37 | Stage 10Lucca - Pisa (28.0km) | 28.0km |
| 18-05 | 16 | 35 | Stage 9Gubbio - Siena (181.0km) | 181.0km |
| 17-05 | 6 | 49 | Stage 8Giulianova - Castelraimondo (197.0km) | 197.0km |
| 16-05 | 84 | 71 | Stage 7Castel di Sangro - Tagliacozzo (168.0km) | 168.0km |
| 15-05 | 96 | 67 | Stage 6Potenza - Napoli (227.0km) | 227.0km |
| 14-05 | 17 | 69 | Stage 5Ceglie Messapica - Matera (151.0km) | 151.0km |
| 13-05 | 107 | 82 | Stage 4Alberobello - Lecce (189.0km) | 189.0km |
| 11-05 | 7 | 83 | Stage 3Vlora - Vlora (160.0km) | 160.0km |
| 10-05 | 49 | 103 | Stage 2Tirana - Tirana (13.0km) | 13.0km |
| 09-05 | 111 | 111 | Stage 1Durazzo - Tirana (160.0km) | 160.0km |
| | | Tour de Romandie (2.UWT) |
| 29-04 | DNS | | PrologueSaint-Imier - Saint-Imier (3.0km) | 3.0km |
| | | Volta Ciclista a Catalunya (2.UWT) |
| 73 | | Klassement |
| 30-03 | 84 | 73 | Stage 7Barcelona - Barcelona (88.0km) | 88.0km |
| 29-03 | 6 | 74 | Stage 6Berga - Nuestra Senore de Queralt (25.0km) | 25.0km |
| 28-03 | 84 | 75 | Stage 5Paüls - Amposta (172.0km) | 172.0km |
| 27-03 | 78 | 78 | Stage 4Sant Vicenç de Castellet - Monasterio de Montserrat (188.0km) | 188.0km |
| 26-03 | 110 | 92 | Stage 3Viladecans - La Molina (218.0km) | 218.0km |
| 25-03 | 14 | 8 | Stage 2Banyoles - Figueres (177.0km) | 177.0km |
| 24-03 | 5 | 7 | Stage 1Sant Feliu de Guíxols - Sant Feliu de Guíxols (178.0km) | 178.0km |
| | | Tirreno-Adriatico (2.UWT) |
| 31 | | Klassement |
| 6 | | Punten |
| 16-03 | 33 | 31 | Stage 7Porto Potenza Picena - San Benedetto del Tronto (147.0km) | 147.0km |
| 15-03 | 29 | 31 | Stage 6Cartoceto - Frontignano (163.0km) | 163.0km |
| 14-03 | 45 | 38 | Stage 5Ascoli Piceno - Pergola (205.0km) | 205.0km |
| 13-03 | 6 | 18 | Stage 4Norcia - Trasacco (190.0km) | 190.0km |
| 12-03 | 1 | 18 | Stage 3Follonica - Foligno (239.0km) | 239.0km |
| 11-03 | 60 | 53 | Stage 2Camaiore - Follonica (189.0km) | 189.0km |
| 10-03 | 53 | 53 | Stage 1Lido di Camaiore - Lido di Camaiore (11.0km) | 11.0km |
| 08-03 | 16 | | Strade Bianche (1.UWT) | 213.0km |
| | | Tour des Alpes-Maritimes (2.1) |
| 36 | | Klassement |
| 23-02 | 27 | 36 | Stage 2Villefranche-sur-Mer - Vence (131.0km) | 131.0km |
| 22-02 | 41 | 41 | Stage 1Contes - Gourdon (162.0km) | 162.0km |
| 21-02 | 84 | | Classic Var (1.1) | 165.0km |
| | | Santos Tour Down Under (2.UWT) |
| 75 | | Klassement |
| 26-01 | 92 | 75 | Stage 6Adelaide - Adelaide (90.0km) | 90.0km |
| 25-01 | 87 | 76 | Stage 5McLaren Vale - Willunga (145.0km) | 145.0km |
| 24-01 | 73 | 77 | Stage 4Glenelg Shire - Victor Harbor (157.0km) | 157.0km |
| 23-01 | 86 | 82 | Stage 3Norwood - Uraidla (147.0km) | 147.0km |
| 22-01 | 33 | 29 | Stage 2Tanunda - Tanunda (128.0km) | 128.0km |
| 21-01 | 18 | 22 | Stage 1Prospect - Gumeracha (150.0km) | 150.0km |
| 18-01 | 17 | | Villawood Men's Classic (CRTP) | |