| 23-09 | DNF | | Tour du Gévaudan Occitanie (1.2) | |
| 15-09 | 102 | | Primus Classic (1.HC) | 193.0km |
| 12-09 | 100 | | Grand Prix de Wallonie (1.1) | 205.0km |
| 02-09 | DNF | | GP de Fourmies / La Voix du Nord (1.HC) | |
| 01-09 | 116 | | Brussels Cycling Classic (1.HC) | 201.0km |
| 25-08 | DNF | | Omloop Mandel-Leie-Schelde Meulebeke (1.1) | 187.0km |
| 24-08 | DNF | | Great War Remembrance Race (1.1) | |
| | | Tour du Limousin (2.1) |
| 40 | | Klassement |
| 18-08 | 46 | 40 | Stage 4Bellac - Limoges (163.0km) | 163.0km |
| 17-08 | 35 | 44 | Stage 3Egletons - Uzerche (190.0km) | 190.0km |
| 16-08 | 50 | 48 | Stage 2Rouffiac - Coteau de Grèzes (176.0km) | 176.0km |
| 15-08 | 16 | 16 | Stage 1Saint-Just-le-Martel - Bonnat (172.0km) | 172.0km |
| | | Vuelta a Burgos (2.HC) |
| 45 | | Klassement |
| 34 | | Punten |
| 11-08 | 43 | 45 | Stage 5Salas de los Infantes - Lagunas de Neila (120.0km) | 120.0km |
| 10-08 | 14 | 62 | Stage 4Monasterio de San Pedro Cardeña - Ciudad Romana de Clunia (165.0km) | 165.0km |
| 09-08 | 77 | | Stage 3Valle de Sedano - Espinosa de los Monteros (149.0km) | 149.0km |
| 08-08 | 96 | 43 | Stage 2Belorado - Castrojeriz (163.0km) | 163.0km |
| 07-08 | 39 | 39 | Stage 1Burgos - Burgos (151.0km) | 151.0km |
| 05-08 | 84 | | La Poly Normande (1.1) | |
| 01-07 | DNF | | National Road Championships - France (CN) | 253.0km |
| | | Le Tour de Savoie Mont Blanc (2.2) |
| 71 | | Klassement |
| 24-06 | 61 | 71 | Stage 5Bonneville - Cluses (139.0km) | 139.0km |
| 23-06 | 61 | 80 | Stage 4Chambéry - Les Belleville (184.0km) | 184.0km |
| 22-06 | 89 | 86 | Stage 2Modane - Valloire (92.0km) | 92.0km |
| 22-06 | 71 | 86 | Stage 3Orelle - Orelle (7.0km) | 7.0km |
| 21-06 | 85 | 85 | Stage 1Saint-Michel-de-Maurienne - Bonneval (150.0km) | 150.0km |
| | | Skoda-Tour de Luxembourg (2.HC) |
| 76 | | Klassement |
| 03-06 | 46 | 76 | Stage 4Mersch - Luxembourg (176.0km) | 176.0km |
| 02-06 | 79 | 87 | Stage 3Eschweiler - Differdange (163.0km) | 163.0km |
| 01-06 | 96 | 97 | Stage 2Rosport - Schifflange (170.0km) | 170.0km |
| 31-05 | 98 | 98 | Stage 1Luxembourg - Hesperange (186.0km) | 186.0km |
| 30-05 | 48 | 48 | PrologueLuxembourg - Luxembourg (2.0km) | 2.0km |
| 26-05 | 29 | | Grand Prix de Plumelec-Morbihan (1.1) | |
| | | Tour de Yorkshire (2.1) |
| 06-05 | DNF | | Stage 4Halifax - Leeds (189.0km) | 189.0km |
| 05-05 | 62 | 38 | Stage 3Richmond - Scarborough (184.0km) | 184.0km |
| 04-05 | 43 | 43 | Stage 2Barnsley - Ilkley (149.0km) | 149.0km |
| 03-05 | 100 | 99 | Stage 1Beverley - Doncaster (182.0km) | 182.0km |
| 14-04 | 6 | | Tour du Finistère (1.1) | 190.0km |
| 10-04 | 20 | | Paris-Camembert (1.1) | 196.0km |
| | | Circuit des Ardennes International (2.2) |
| 08-04 | 1 | 3 | Stage 3aDonchery - Vivier-au-Court (79.0km) | 79.0km |
| 08-04 | 22 | 3 | Stage 3bCharleville-Mézières - Charleville-Mézières (104.0km) | 104.0km |
| 07-04 | 39 | 19 | Stage 2Beauraing - Givet (175.0km) | 175.0km |
| 06-04 | 17 | 17 | Stage 1Bazeilles - Bazeilles (160.0km) | 160.0km |
| 31-03 | 73 | | Gran Premio Miguel Indurain (1.1) | |
| 25-03 | 58 | | Cholet - Pays De Loire (1.1) | |
| 16-03 | 92 | | Handzame Classic (1.HC) | 199.0km |
| 11-03 | 39 | | Paris-Troyes (1.2) | |
| 04-03 | DNF | | Dwars door West-Vlaanderen (1.1) | 189.0km |
| 27-02 | DNF | | Le Samyn (1.1) | 200.0km |
| | | 50ème Tour Cycliste International du Haut Var Matin (2.1) |
| 57 | | Klassement |
| 18-02 | 56 | 57 | Stage 2Vidauban - Flayosc (188.0km) | 188.0km |
| 17-02 | 68 | 68 | Stage 1Le Cannet des Maures - Fayence (169.0km) | 169.0km |
| | | 3ème Tour Cycliste International La Provence (2.1) |
| 40 | | Klassement |
| 11-02 | 52 | 40 | Stage 3Aix-en-Provence - Marseille (167.0km) | 167.0km |
| 10-02 | 42 | 42 | Stage 2La Ciotat - Gemenos (153.0km) | 153.0km |
| 09-02 | 83 | 82 | Stage 1Aubagne - Istres (184.0km) | 184.0km |
| 08-02 | 86 | 86 | PrologueLe Castellet - Le Castellet (5.0km) | 5.0km |