| 11-10 | 45 | | Il Lombardia (1.UWT) | 238.0km |
| 07-10 | 39 | | Tre Valli Varesine (1.Pro) | 200.0km |
| 04-10 | 46 | | Giro dell'Emilia (1.Pro) | 199.0km |
| | | Vuelta a España (2.UWT) |
| 52 | | Standings |
| 37 | | Mountain |
| 17 | | Youth |
| 14-09 | | 52 | Stage 21Alalpardo - Madrid | 103.0km |
| 13-09 | 87 | 52 | Stage 20Robledo de Chavela - Bola del Mundo | 165.0km |
| 12-09 | 53 | 49 | Stage 19Rueda - Guijuelo | 161.0km |
| 11-09 | 139 | 50 | Stage 18Valladolid - Valladolid | 12.0km |
| 10-09 | 40 | 48 | Stage 17O Barco de Valdeorras - Alto de El Morredero | 143.0km |
| 09-09 | 33 | 51 | Stage 16Poio - Mos. Castro de Herville | 167.0km |
| 07-09 | 43 | 56 | Stage 15A Veiga - Monforte de Lemos | 167.0km |
| 06-09 | 39 | 59 | Stage 14Avilés - La Farrapona | 135.0km |
| 05-09 | 61 | 74 | Stage 13Cabázon de la Sal - Alto de l'Angliru | 202.0km |
| 04-09 | 65 | 83 | Stage 12Laredo - Los Corrales del Buelna | 144.0km |
| 03-09 | | 87 | Stage 11Bilbao - Bilbao | 157.0km |
| 02-09 | 114 | 103 | Stage 10Sendaviva - El Ferial Larra Belagua | 175.0km |
| 31-08 | 167 | 103 | Stage 9Alfaro - Estación de Esquí de Valdezcaray | 195.0km |
| 30-08 | 123 | 78 | Stage 8Monzón Templario - Zaragoza | 163.0km |
| 29-08 | 159 | 78 | Stage 7Andorra La Vella - Cerler | 188.0km |
| 28-08 | 66 | 49 | Stage 6Olot - Pal Andorra | 170.0km |
| 27-08 | 7 | 22 | Stage 5Figueres - Figueres | 24.0km |
| 26-08 | 52 | 36 | Stage 4Susa - Voiron | 206.0km |
| 25-08 | 32 | 38 | Stage 3San Maurizio Canavese - Ceres | 134.0km |
| 24-08 | 40 | 43 | Stage 2Alba - Puerto Limone | 159.0km |
| 23-08 | 148 | 150 | Stage 1Torino - Novara | 186.0km |
| | | Vuelta a Burgos (2.Pro) |
| 3 | | Standings |
| 2 | | Points |
| 5 | | Mountain |
| 2 | | Youth |
| 09-08 | 11 | 3 | Stage 5Bodega Cillar de Silos - Lagunas de Neila | 138.0km |
| 08-08 | 39 | 1 | Stage 4Burpellet - Regumiel de la Sierra | 162.0km |
| 07-08 | 1 | 1 | Stage 3San Pedro de Cardena - Valpuesta | 185.0km |
| 06-08 | 87 | 5 | Stage 2Cilleruelo de Abajo - Buniel | 162.0km |
| 05-08 | 4 | 4 | Stage 1Olmillos de Sasamón - Alto del Castillo | 205.0km |
| 02-08 | 14 | | Donostia San Sebastian Klasikoa (1.UWT) | 211.0km |
| 29-06 | DNF | | National Road Championships - France (CN) | 231.0km |
| 26-06 | 14 | | National Road Championships - France TT (CN) | 26.0km |
| | | Tour de Suisse (2.UWT) |
| 35 | | Standings |
| 15 | | Youth |
| 22-06 | 20 | 35 | Stage 8Beckenried-Emmetten - Beckenried-Emmetten | 10.0km |
| 21-06 | 84 | 36 | Stage 7Neuhausen am Rheinfall - Beckenried-Emmetten | 207.0km |
| 20-06 | 66 | 29 | Stage 6Chur - Neuhausen am Rheinfall | 186.0km |
| 19-06 | 32 | 29 | Stage 5La Punt - Santa Maria | 183.0km |
| 18-06 | 36 | 35 | Stage 4Heiden - Piuro | 193.0km |
| 17-06 | 25 | 39 | Stage 3Aarau - Heiden | 195.0km |
| 16-06 | 56 | 51 | Stage 2Aarau - Schwarzsee | 177.0km |
| 15-06 | 49 | 49 | Stage 1Küssnacht am Rigi - Küssnacht am Rigi | 129.0km |
| 26-05 | 13 | | Mercan'Tour Classic Alpes-Maritimes (1.1) | 152.0km |
| | | Tour de Romandie (2.UWT) |
| 30-04 | DNS | | Stage 1Münchenstein - Fribourg | 194.0km |
| 29-04 | 137 | 137 | PrologueSaint-Imier - Saint-Imier | 3.0km |
| | | Itzulia Basque Country (2.UWT) |
| 25 | | Standings |
| 22 | | Mountain |
| 4 | | Youth |
| 12-04 | 37 | 25 | Stage 6Eibar - Eibar | 153.0km |
| 11-04 | 33 | 24 | Stage 5Urduña - Gernika | 175.0km |
| 10-04 | 23 | 26 | Stage 4Beasain - Markina-Xemein | 169.0km |
| 09-04 | 31 | 30 | Stage 3Zarautz - Beasain | 156.0km |
| 08-04 | 71 | 67 | Stage 2Pamplona - Lodosa | 199.0km |
| 07-04 | 67 | 67 | Stage 1Vitoria-Gasteiz - Vitoria-Gasteiz | 16.0km |
| 02-04 | 5 | | Paris - Camembert (1.1) | 199.0km |
| 01-02 | 8 | | UCI Cyclo-cross World Championships Liévin U23 (CM) | |
| 26-01 | 13 | | UCI Cyclo-cross World Cup - Hoogerheide U23 (CDM) | |
| 19-01 | DNS | | UCI Cyclo-cross World Cup - Benidorm U23 (CDM) | |
| 11-01 | 1 | | French National Championships CX U23 (CN) | |