| 06-10 | DNF | | Tour de Vendée (1.1) | 199.0km |
| 18-09 | DNF | | Grand Prix de Wallonie (1.1) | 205.0km |
| 01-09 | DNF | | Bretagne Classic - Ouest-France (1.UWT) | 248.0km |
| | | Tour Poitou-Charentes (2.1) |
| 30-08 | DNF | | Stage 5Aigre - Poitiers (167.0km) | 167.0km |
| 29-08 | 46 | 39 | Stage 4Leigné-les-bois - Pleumartin (23.0km) | 23.0km |
| 29-08 | 96 | 54 | Stage 3Chatellerault - Pleumartin (110.0km) | 110.0km |
| 28-08 | 57 | 55 | Stage 2Rochefort-sur-Mer - Aigre (168.0km) | 168.0km |
| 27-08 | 21 | 22 | Stage 1Niort - Rochefort-sur-Mer (188.0km) | 188.0km |
| | | Arctic Race of Norway (2.HC) |
| 25 | | Klassement |
| 18-08 | 23 | 25 | Stage 4Lødingen - Narvik (166.0km) | 166.0km |
| 17-08 | 22 | 29 | Stage 3Sortland - Storheia (Melbu) (176.0km) | 176.0km |
| 16-08 | 108 | 33 | Stage 2Henningsvaer - Svolvær (168.0km) | 168.0km |
| 15-08 | 33 | 33 | Stage 1Å - Leknes (182.0km) | 182.0km |
| | | VOO-Tour de Wallonie (2.HC) |
| 28-07 | DNF | | Stage 2Waremme - Beyne-Heusay (170.0km) | 170.0km |
| 27-07 | 20 | 25 | Stage 1Le Roeulx - Dottignies (186.0km) | 186.0km |
| 25-07 | DNF | | Grand Prix Cerami (1.1) | 209.0km |
| 30-06 | 79 | | National Road Championships - France (CN) | 252.0km |
| | | La Route d'Occitanie (2.1) |
| 97 | | Klassement |
| 38 | | Punten |
| 4 | | Berg |
| 23-06 | 96 | 97 | Stage 4Gers - Astarac Arros en Gascogne (154.0km) | 154.0km |
| 22-06 | 69 | 81 | Stage 3Arreau - Luchon (173.0km) | 173.0km |
| 21-06 | 106 | 98 | Stage 2Labruguière - Martres-Tolosane (187.0km) | 187.0km |
| 20-06 | 105 | 105 | Stage 1Gignac - Saint-Geniez-d Olt (175.0km) | 175.0km |
| | | Skoda-Tour de Luxembourg (2.HC) |
| 43 | | Klassement |
| 12 | | Berg |
| 09-06 | 45 | 43 | Stage 4Mersch - Luxembourg (176.0km) | 176.0km |
| 08-06 | 43 | 43 | Stage 3Mondorf-les-Bains - Diekirch (178.0km) | 178.0km |
| 07-06 | 74 | 74 | Stage 2Steinfort - Rosport (168.0km) | 168.0km |
| 06-06 | 99 | 46 | Stage 1Luxembourg - Bascharage (191.0km) | 191.0km |
| 05-06 | 44 | 44 | PrologueLuxembourg - Luxembourg (2.0km) | 2.0km |
| 01-05 | DNF | | Eschborn-Frankfurt (1.UWT) | 218.0km |
| 22-04 | 61 | | Tro-Bro Léon (1.1) | 205.0km |
| 17-04 | DNF | | De Brabantse Pijl (1.HC) | 195.0km |
| | | Itzulia Basque Country (2.UWT) |
| 13-04 | OTL | | Stage 6Eibar - Eibar (118.0km) | 118.0km |
| 12-04 | 131 | 130 | Stage 5Arrigorriaga - Arrate (149.0km) | 149.0km |
| 11-04 | 122 | 135 | Stage 4Vitoria-Gasteiz - Arrigorriaga (164.0km) | 164.0km |
| 10-04 | 140 | 144 | Stage 3Sarriguren - Estibaliz (191.0km) | 191.0km |
| 09-04 | 102 | 136 | Stage 2Zumárraga - Gorraiz (149.0km) | 149.0km |
| 08-04 | 140 | 140 | Stage 1Zumárraga - Zumárraga (11.0km) | 11.0km |
| 31-03 | DNF | | Cholet - Pays de la Loire (1.1) | 203.0km |
| 30-03 | 63 | | Classic Loire Atlantique (1.1) | 182.0km |
| 24-03 | 59 | | Grand Prix de Denain (1.HC) | 204.0km |
| 22-03 | 136 | | Bredene Koksijde Classic (1.HC) | 199.0km |
| 20-03 | DNF | | Danilith Nokere Koerse (1.HC) | 195.0km |
| 17-03 | 70 | | Ronde van Drenthe (1.HC) | 217.0km |
| 03-03 | 80 | | Royal Bernard Drome Classic (1.1) | |
| 02-03 | 80 | | Classic de l'Ardèche Rhône Crussol (1.1) | |
| | | Tour de la Provence (2.1) |
| 77 | | Klassement |
| 17-02 | 76 | 77 | Stage 4Avignon - Aix-en-Provence (170.0km) | 170.0km |
| 16-02 | 101 | 89 | Stage 3Aubagne - Le Castellet (159.0km) | 159.0km |
| 15-02 | 79 | 89 | Stage 2Istres - La Ciotat (194.0km) | 194.0km |
| 14-02 | 70 | 70 | Stage 1Saintes-Marie-de-la-Mer - Saintes-Marie-de-la-Mer (8.0km) | 8.0km |
| | | Etoile de Bessèges (2.1) |
| 126 | | Klassement |
| 10-02 | 61 | 126 | Stage 4Alès - Alès (10.0km) | 10.0km |
| 09-02 | 104 | 134 | Stage 3Bessèges - Bessèges (158.0km) | 158.0km |
| 08-02 | 142 | 141 | Stage 2Saint-Geniés-de-Malgoires - La Clamette (154.0km) | 154.0km |
| 07-02 | 94 | 95 | Stage 1Bellegarde - Beaucaire (162.0km) | 162.0km |
| 03-02 | 49 | | Grand Prix Cycliste la Marseillaise (1.1) | 139.0km |