| 09-10 | DNF | | Il Lombardia (1.UWT) | 239.0km |
| 05-10 | DNF | | Tre Valli Varesine (1.Pro) | 196.0km |
| 02-10 | 100 | | Giro dell'Emilia (1.Pro) | 195.0km |
| 19-09 | 23 | | Eschborn-Frankfurt (1.UWT) | 187.0km |
| | | Vuelta a España (2.UWT) |
| 22 | | Klassement |
| 90 | | Punten |
| 29 | | Berg |
| 05-09 | 112 | 22 | Stage 21Padrón - Santiago de Compostela (33.0km) | 33.0km |
| 04-09 | 41 | 20 | Stage 20Sanxenxo - Mos. Castro de Herville (202.0km) | 202.0km |
| 03-09 | 58 | 21 | Stage 19Tapia - Monforte de Lemos (191.0km) | 191.0km |
| 02-09 | 29 | 22 | Stage 18Salas - Alto de Gamoniteiro (162.0km) | 162.0km |
| 01-09 | 28 | 25 | Stage 17Unquera - Lagos de Covadonga (185.0km) | 185.0km |
| 31-08 | 118 | 30 | Stage 16Laredo - Santa Cruz de Bezana (180.0km) | 180.0km |
| 29-08 | 39 | 27 | Stage 15Navalmoral de la Mata - El Barraco (197.0km) | 197.0km |
| 28-08 | 65 | 31 | Stage 14Don Benito - La Villuerca (165.0km) | 165.0km |
| 27-08 | 87 | 30 | Stage 13Belmez - Villanueva de la Serena (203.0km) | 203.0km |
| 26-08 | 9 | 28 | Stage 12Jaén - Córdoba (175.0km) | 175.0km |
| 25-08 | 51 | 31 | Stage 11Antequera - Valdepeñas de Jaén (133.0km) | 133.0km |
| 24-08 | 73 | 33 | Stage 10Roquetas de Mar - Rincon de la Victoria (189.0km) | 189.0km |
| 22-08 | 25 | 26 | Stage 9Puerto Lumbreras - Alto de Velefique (188.0km) | 188.0km |
| 21-08 | 92 | 38 | Stage 8Santa Pola - La Manga del Mar Menor (173.0km) | 173.0km |
| 20-08 | 55 | 39 | Stage 7Gandia - Balcón de Alicante (152.0km) | 152.0km |
| 19-08 | 100 | 49 | Stage 6Requena - Cullera (158.0km) | 158.0km |
| 18-08 | 83 | 44 | Stage 5Tarancón - Albacete (184.0km) | 184.0km |
| 17-08 | 108 | 52 | Stage 4El Burgo de Osma - Molina de Aragón (163.0km) | 163.0km |
| 16-08 | 47 | 53 | Stage 3Santo Domingo de Silos - Picón Blanco (202.0km) | 202.0km |
| 15-08 | 88 | 99 | Stage 2Caleruega - Burgos (166.0km) | 166.0km |
| 14-08 | 123 | 123 | Stage 1Burgos - Burgos (7.0km) | 7.0km |
| 01-08 | 58 | | Circuito de Getxo - Memorial Hermanos Otxoa (1.1) | |
| 31-07 | 31 | | Donostia San Sebastian Klasikoa (1.UWT) | 223.0km |
| | | Ethias Tour de Wallonie (2.Pro) |
| 26 | | Klassement |
| 4 | | Berg |
| 24-07 | 48 | 26 | Stage 5Dinant - Quaregnon (183.0km) | 183.0km |
| 23-07 | 34 | 27 | Stage 4Neufchâteau - Fleurus (206.0km) | 206.0km |
| 22-07 | 31 | 27 | Stage 3Plombières - Erezee (179.0km) | 179.0km |
| 21-07 | 95 | 82 | Stage 2Heusden-Zolder - Heusden-Zolder (120.0km) | 120.0km |
| 20-07 | 57 | 60 | Stage 1Genappe - Héron (185.0km) | 185.0km |
| 20-06 | 42 | | National Road Championships - Italy (CN) | 225.0km |
| | | La Route d'Occitanie - La Dépêche du Midi (2.1) |
| 22 | | Klassement |
| 10 | | Punten |
| 13-06 | 2 | 22 | Stage 4Lavelanet - Duilhac-sous-Peyrepertuse (151.0km) | 151.0km |
| 12-06 | 20 | 31 | Stage 3Pierrefitte-Nestalas - Station du Mourtis (191.0km) | 191.0km |
| 11-06 | 48 | 48 | Stage 2Villefranche-de-Rouergue - Auch (198.0km) | 198.0km |
| 10-06 | 48 | 48 | Stage 1Cazouls-lès-Béziers - Lacaune-les-Bains (156.0km) | 156.0km |
| 08-06 | 54 | | Mont Ventoux Dénivelé Challenge (1.1) | 154.0km |
| | | Giro d'Italia (2.UWT) |
| 28-05 | DNF | | Stage 19Abbiategrasso - Alpe di Mera (Valsesia) (176.0km) | 176.0km |
| 27-05 | 55 | 31 | Stage 18Rovereto - Stradella (231.0km) | 231.0km |
| 26-05 | 69 | 32 | Stage 17Canazei - Sega di Ala (193.0km) | 193.0km |
| 24-05 | 20 | 30 | Stage 16Sacile - Cortina d'Ampezzo (212.0km) | 212.0km |
| 23-05 | 148 | 36 | Stage 15Grado - Gorizia (147.0km) | 147.0km |
| 22-05 | 51 | 35 | Stage 14Cittadella - Monte Zoncolan (205.0km) | 205.0km |
| 21-05 | 142 | 33 | Stage 13Ravenna - Verona (198.0km) | 198.0km |
| 20-05 | 4 | 32 | Stage 12Siena - Bagno di Romagna (212.0km) | 212.0km |
| 19-05 | 57 | 49 | Stage 11Perugia - Montalcino (162.0km) | 162.0km |
| 17-05 | 53 | 48 | Stage 10L'Aquila - Foligno (139.0km) | 139.0km |
| 16-05 | 58 | 49 | Stage 9Castel di Sangro - Campo Felice (158.0km) | 158.0km |
| 15-05 | 50 | 50 | Stage 8Foggia - Guardia Sanframondi (170.0km) | 170.0km |
| 14-05 | 71 | 57 | Stage 7Notaresco - Termoli (181.0km) | 181.0km |
| 13-05 | 52 | 59 | Stage 6Grotte di Frasassi - Ascoli Piceno (160.0km) | 160.0km |
| 12-05 | 139 | 55 | Stage 5Modena - Cattolica (177.0km) | 177.0km |
| 11-05 | 62 | 60 | Stage 4Piacenza - Sestola (187.0km) | 187.0km |
| 10-05 | 23 | 97 | Stage 3Biella - Canale (190.0km) | 190.0km |
| 09-05 | 110 | 155 | Stage 2Stupinigi - Novara (179.0km) | 179.0km |
| 08-05 | 162 | 162 | Stage 1Torino - Torino (8.0km) | 8.0km |
| | | Tour of the Alps (2.Pro) |
| 24 | | Klassement |
| 23-04 | 66 | 24 | Stage 5Idroland - Riva del Garda (120.0km) | 120.0km |
| 22-04 | 9 | 16 | Stage 4Naturno - Pieve di Bono (168.0km) | 168.0km |
| 21-04 | 14 | 22 | Stage 3Imst - Naturno (162.0km) | 162.0km |
| 20-04 | 17 | 17 | Stage 2Innsbruck - Feichten im Kaunertal (121.0km) | 121.0km |
| 19-04 | 7 | 7 | Stage 1Bressanone - Innsbruck (142.0km) | 142.0km |
| | | Volta Ciclista a Catalunya (2.UWT) |
| 56 | | Klassement |
| 28-03 | 114 | 56 | Stage 7Barcelona - Barcelona (133.0km) | 133.0km |
| 27-03 | 50 | 47 | Stage 6Tarragona - Mataró (194.0km) | 194.0km |
| 26-03 | 18 | 49 | Stage 5La Pobla de Segur - Manresa (201.0km) | 201.0km |
| 25-03 | 70 | | Stage 4Ripoll - Port Ainé-Rialp (166.0km) | 166.0km |
| 24-03 | 96 | 69 | Stage 3Canal Olimpic de Catalunya - Vallter 2000 (203.0km) | 203.0km |
| 23-03 | 92 | 66 | Stage 2Banyoles - Banyoles (18.0km) | 18.0km |
| 22-03 | 68 | 68 | Stage 1Calella - Calella (178.0km) | 178.0km |
| 07-03 | 6 | | GP Industria & Artigianato (1.Pro) | 193.0km |
| 06-03 | 33 | | Strade Bianche (1.UWT) | 184.0km |
| 03-03 | 13 | | Trofeo Laigueglia (1.Pro) | 202.0km |
| | | 53ème Tour des Alpes Maritimes et du Var
(2.1) |
| 1 | | Klassement |
| 6 | | Punten |
| 5 | | Berg |
| 21-02 | 1 | 1 | Stage 3Blausasc - Blausasc (136.0km) | 136.0km |
| 20-02 | 19 | 17 | Stage 2Fayence - Fayence (175.0km) | 175.0km |
| 19-02 | 27 | 27 | Stage 1Biot - Gourdon (186.0km) | 186.0km |