| 12-10 | 20 | | Il Lombardia (1.UWT) | 243.0km |
| 10-10 | 33 | | Gran Piemonte (1.HC) | 183.0km |
| | | Tour of Croatia (2.1) |
| 7 | | Klassement |
| 28 | | Punten |
| 11 | | Berg |
| 06-10 | 20 | 7 | Stage 6Sveta Nedelja - Zagreb (160.0km) | 160.0km |
| 05-10 | 4 | 7 | Stage 5Rabac - Platak (142.0km) | 142.0km |
| 04-10 | 36 | 28 | Stage 4Starigrad - Crikvenica (159.0km) | 159.0km |
| 03-10 | 34 | 29 | Stage 3Okrug - Makarska (165.0km) | 165.0km |
| 02-10 | 45 | 46 | Stage 2Slunj - Zadar (186.0km) | 186.0km |
| 01-10 | 59 | 61 | Stage 1Osijek - Lipik (210.0km) | 210.0km |
| 22-09 | DNF | | Trofeo Matteotti (1.1) | |
| 21-09 | 33 | | Memorial Marco Pantani (1.1) | |
| 15-09 | 47 | | Coppa Bernocchi (1.1) | |
| 14-09 | 27 | | Coppa Agostoni - Giro delle Brianze (1.1) | 195.0km |
| | | Tour du Limousin (2.1) |
| 7 | | Klassement |
| 24-08 | 7 | 7 | Stage 4Confolens - Limoges (177.0km) | 177.0km |
| 23-08 | 6 | 8 | Stage 3Chamboulive - Beynat (176.0km) | 176.0km |
| 22-08 | 14 | 8 | Stage 2Rouffiac - Trélissac (182.0km) | 182.0km |
| 21-08 | 12 | 12 | Stage 1Condat-sur-Vienne - Guéret (172.0km) | 172.0km |
| | | Vuelta a Burgos (2.HC) |
| 7 | | Klassement |
| 12 | | Punten |
| 12 | | Berg |
| 17-08 | 10 | 7 | Stage 5Santo Domingo de Silos - Lagunas de Neila (146.0km) | 146.0km |
| 16-08 | 7 | 6 | Stage 4Atapuerca - Ciudad Romana de Clunia (174.0km) | 174.0km |
| 15-08 | 7 | 7 | Stage 3Sargentes de La Lora - Picón Blanco (153.0km) | 153.0km |
| 14-08 | 23 | 40 | Stage 2Gumiel de Izán - Lerma (154.0km) | 154.0km |
| 13-08 | 43 | 43 | Stage 1Burgos - Burgos (161.0km) | 161.0km |
| | | VOO-Tour de Wallonie (2.HC) |
| 31-07 | DNF | | Stage 5Couvin - Thuin (186.0km) | 186.0km |
| 30-07 | 56 | 73 | Stage 4Villers-le-Bouillet - Lierneux (178.0km) | 178.0km |
| 29-07 | 56 | 94 | Stage 3La Roche-en-Ardenne - Verviers (194.0km) | 194.0km |
| 28-07 | 117 | 109 | Stage 2Waremme - Beyne-Heusay (170.0km) | 170.0km |
| 27-07 | 87 | 88 | Stage 1Le Roeulx - Dottignies (186.0km) | 186.0km |
| 30-06 | 44 | | National Road Championships - France (CN) | 252.0km |
| | | La Route d'Occitanie (2.1) |
| 57 | | Klassement |
| 12 | | Punten |
| 10 | | Berg |
| 23-06 | 47 | 57 | Stage 4Gers - Astarac Arros en Gascogne (154.0km) | 154.0km |
| 22-06 | 57 | 58 | Stage 3Arreau - Luchon (173.0km) | 173.0km |
| 21-06 | 99 | 64 | Stage 2Labruguière - Martres-Tolosane (187.0km) | 187.0km |
| 20-06 | 66 | 66 | Stage 1Gignac - Saint-Geniez-d Olt (175.0km) | 175.0km |
| | | Critérium du Dauphiné (2.UWT) |
| 16-06 | DNS | | Stage 8Cluses - Champéry (113.0km) | 113.0km |
| 15-06 | 50 | 80 | Stage 7Saint-Genix-les-Villages - Les Sept Laux-Pipay (133.0km) | 133.0km |
| 14-06 | 112 | 98 | Stage 6Saint-Vulbas - Saint-Michel-de-Maurienne (228.0km) | 228.0km |
| 13-06 | 75 | 98 | Stage 5Boën-sur-Lignon - Voiron (201.0km) | 201.0km |
| 12-06 | 126 | 99 | Stage 4Roanne - Roanne (26.0km) | 26.0km |
| 11-06 | 127 | 99 | Stage 3Le Puy-en-Velay - Riom (172.0km) | 172.0km |
| 10-06 | 62 | 103 | Stage 2Mauriac - Craponne-sur-Arzon (180.0km) | 180.0km |
| 09-06 | 151 | 151 | Stage 1Aurillac - Jussac (142.0km) | 142.0km |
| 02-06 | 63 | | Boucles de l'Aulne (1.1) | |
| 01-06 | 42 | | Grand Prix de Plumelec-Morbihan (1.1) | 188.0km |
| | | Tour de l'Ain (2.1) |
| 34 | | Klassement |
| 26-05 | 39 | 34 | Stage 3Parc des Oiseaux - Le Grand Colombier (120.0km) | 120.0km |
| 25-05 | 37 | 30 | Stage 2Bellignat - Col de la Faucille (131.0km) | 131.0km |
| 24-05 | 31 | 31 | Stage 1Bourg-en-Bresse - Saint-Vulbas (164.0km) | 164.0km |
| | | Vuelta Aragón (2.1) |
| 6 | | Klassement |
| 28 | | Punten |
| 19-05 | 23 | 6 | Stage 3Huesca - Zaragoza (147.0km) | 147.0km |
| 18-05 | 15 | 7 | Stage 2Sadaba - Canfranc Estación (183.0km) | 183.0km |
| 17-05 | 14 | 14 | Stage 1Andorra - Calatayud (174.0km) | 174.0km |
| | | Tour de Yorkshire (2.HC) |
| 91 | | Klassement |
| 05-05 | 51 | 91 | Stage 4Halifax - Leeds (175.0km) | 175.0km |
| 04-05 | 100 | 109 | Stage 3Bridlington - Scarborough (132.0km) | 132.0km |
| 03-05 | 121 | 122 | Stage 2Barnsley - Bedale (132.0km) | 132.0km |
| 02-05 | 126 | 126 | Stage 1Doncaster - Selby (178.0km) | 178.0km |
| 02-03 | DNF | | Classic de l'Ardèche Rhône Crussol (1.1) | |
| | | Tour du Haut Var Matin (2.1) |
| 52 | | Klassement |
| 2 | | Berg |
| 24-02 | 70 | 52 | Stage 3La Londe-les-Maures - Toulon (Mont Faron) (136.0km) | 136.0km |
| 23-02 | 47 | 41 | Stage 2Le Cannet des Maures - Mons (201.0km) | 201.0km |
| 22-02 | 26 | 26 | Stage 1Vence - Mandelieu-la-Napoule (154.0km) | 154.0km |
| | | Tour de la Provence (2.1) |
| 16 | | Klassement |
| 17-02 | 34 | 16 | Stage 4Avignon - Aix-en-Provence (170.0km) | 170.0km |
| 16-02 | 23 | 17 | Stage 3Aubagne - Le Castellet (159.0km) | 159.0km |
| 15-02 | 27 | 25 | Stage 2Istres - La Ciotat (194.0km) | 194.0km |
| 14-02 | 64 | 64 | Stage 1Saintes-Marie-de-la-Mer - Saintes-Marie-de-la-Mer (8.0km) | 8.0km |
| | | Etoile de Bessèges (2.1) |
| 38 | | Klassement |
| 10-02 | 47 | 38 | Stage 4Alès - Alès (10.0km) | 10.0km |
| 09-02 | 70 | 72 | Stage 3Bessèges - Bessèges (158.0km) | 158.0km |
| 08-02 | 97 | 114 | Stage 2Saint-Geniés-de-Malgoires - La Clamette (154.0km) | 154.0km |
| 07-02 | 116 | 116 | Stage 1Bellegarde - Beaucaire (162.0km) | 162.0km |
| 03-02 | 73 | | Grand Prix Cycliste la Marseillaise (1.1) | 139.0km |