| | | Cro Race (2.1) |
| 02-10 | DNS | | Stage 6Sveta Nedelja - Zagreb (158.0km) | 158.0km |
| 01-10 | 91 | 62 | Stage 5Opatija - Labin (154.0km) | 154.0km |
| 30-09 | 23 | 15 | Stage 4Biograd na Moru - Crikvenica (219.0km) | 219.0km |
| 29-09 | 16 | 15 | Stage 3Sinj - Primosten (157.0km) | 157.0km |
| 28-09 | 32 | 8 | Stage 2Otočac - Zadar (163.0km) | 163.0km |
| 27-09 | 15 | 16 | Stage 1Osijek - Ludbreg (223.0km) | 223.0km |
| 23-09 | 1 | | Copa Catalana Internacional - Girona (1) | |
| | | Skoda Tour de Luxembourg (2.Pro) |
| 35 | | Klassement |
| 19 | | Punten |
| 7 | | Berg |
| 17-09 | 34 | 35 | Stage 5Mersch - Luxembourg (178.0km) | 178.0km |
| 16-09 | 70 | 37 | Stage 4Remich - Remich (26.0km) | 26.0km |
| 15-09 | 25 | 11 | Stage 3Rosport - Diekirch (188.0km) | 188.0km |
| 14-09 | 9 | 8 | Stage 2Junglinster - Schifflange (163.0km) | 163.0km |
| 13-09 | 8 | 8 | Stage 1Luxembourg - Luxembourg (163.0km) | 163.0km |
| 04-09 | 4 | | UCI MTB World Cup XCO - Val di Sole (CDM) | |
| 02-09 | 8 | | UCI MTB World Cup XCO - Val di Sole (XCC) (CDM) | |
| 28-08 | 8 | | UCI World Championship Mountainbike Les Gets (CM) | |
| 19-08 | 4 | | European Continental Championships - XCO (CC) | |
| | | Arctic Race of Norway (2.Pro) |
| 13 | | Klassement |
| 39 | | Punten |
| 14-08 | 10 | 13 | Stage 4Trondheim - Trondheim (160.0km) | 160.0km |
| 13-08 | 28 | 22 | Stage 3Namsos - Skallstuggu (180.0km) | 180.0km |
| 12-08 | 38 | 27 | Stage 2Mosjøen - Brønnøysund (155.0km) | 155.0km |
| 11-08 | 28 | 28 | Stage 1Mo I Rana - Mo I Rana (185.0km) | 185.0km |
| | | Ethias Tour de Wallonie (2.Pro) |
| 24-07 | 107 | 106 | Stage 2Verviers - Herve (176.0km) | 176.0km |
| 23-07 | 89 | 89 | Stage 1Temploux - Huy (173.0km) | 173.0km |
| 17-07 | 12 | | UCI MTB World Cup XCO - Vallnord Pal Arinsal (CDM) | |
| 15-07 | 9 | | UCI MTB World Cup XCO - Vallnord Pal Arinsal (XCC) (CDM) | |
| 26-06 | 22 | | National Road Championships - France (CN) | 240.0km |
| 14-06 | 63 | | Mont Ventoux Dénivelé Challenge (1.1) | 154.0km |
| | | Alpes Isère Tour (2.2) |
| 29-05 | DNF | | Stage 5Les Échelles - Allevard-les-Bains (133.0km) | 133.0km |
| 28-05 | 57 | 52 | Stage 4Saint-Maurice-l'Exil - Beaurepaire (174.0km) | 174.0km |
| 27-05 | 1 | 41 | Stage 3Saint-Exupéry - Toussieu (145.0km) | 145.0km |
| 26-05 | 48 | 44 | Stage 2Les Abrets-en-Dauphiné - Saint-Quentin-Fallavier (161.0km) | 161.0km |
| 25-05 | 20 | 25 | Stage 1Charvieu-Chavagneux - Charvieu-Chavagneux (118.0km) | 118.0km |
| 15-05 | 22 | | UCI MTB World Cup XCO - Nove Mesto Na Morave (CDM) | |
| 13-05 | 22 | | UCI MTB World Cup XCO - Nove Mesto Na Morave (XCC) (CDM) | |
| 08-05 | 30 | | UCI MTB World Cup XCO - Albstadt (CDM) | |
| 06-05 | 34 | | UCI MTB World Cup XCO - Albstadt (XCC) (CDM) | |
| 20-04 | 56 | | La Flèche Wallonne (1.UWT) | 202.0km |
| 10-04 | DNF | | Amstel Gold Race (1.UWT) | 254.0km |
| 03-04 | 59 | | Ronde van Vlaanderen (1.UWT) | 272.0km |
| 30-03 | 41 | | Dwars door Vlaanderen (1.UWT) | 183.0km |
| 25-03 | 41 | | E3 Saxo Bank Classic (1.UWT) | 203.0km |
| 19-03 | DNF | | Classic Loire Atlantique (1.1) | 182.0km |
| | | Paris-Nice (2.UWT) |
| 49 | | Klassement |
| 8 | | Berg |
| 13-03 | 49 | 49 | Stage 8Nice - Nice (115.0km) | 115.0km |
| 12-03 | 58 | 63 | Stage 7Nice - Col de Turini (155.0km) | 155.0km |
| 11-03 | 68 | 69 | Stage 6Courthézon - Aubagne (213.0km) | 213.0km |
| 10-03 | 73 | 79 | Stage 5Saint-Just-Saint-Rambert - Saint-Sauveur-de-Montagut (188.0km) | 188.0km |
| 09-03 | 91 | 96 | Stage 4Domérat - Montluçon (13.0km) | 13.0km |
| 08-03 | 20 | 100 | Stage 3Vierzon - Dun-le-Palestel (190.0km) | 190.0km |
| 07-03 | 93 | 128 | Stage 2Auffargis - Orléans (159.0km) | 159.0km |
| 06-03 | 124 | 125 | Stage 1Mantes-la-Ville - Mantes-la-Ville (159.0km) | 159.0km |
| 27-02 | 63 | | Drome Classic (1.Pro) | 191.0km |
| 26-02 | 32 | | Faun-Ardèche Classic
(1.Pro) | 168.0km |
| | | Tour des Alpes Maritimes et du Var (2.1) |
| 66 | | Klassement |
| 20-02 | 78 | 66 | Stage 3Villefranche-sur-Mer - Blausasc (113.0km) | 113.0km |
| 19-02 | 31 | 29 | Stage 2Puget-Théniers - La Turbie (149.0km) | 149.0km |
| 18-02 | 64 | 40 | Stage 1Saint-Raphaël - La Seyne-sur-Mer (176.0km) | 176.0km |
| | | Etoile de Bessèges (2.1) |
| 42 | | Klassement |
| 06-02 | 105 | 42 | Stage 5Alès - Alès (10.0km) | 10.0km |
| 05-02 | 47 | 41 | Stage 4Saint-Hilaire-de-Brethmas - Le Mont Bouquet (145.0km) | 145.0km |
| 04-02 | 63 | 55 | Stage 3Bessèges - Bessèges (155.0km) | 155.0km |
| 03-02 | 41 | 74 | Stage 2Saint-Christol-lès-Alès - Rousson (155.0km) | 155.0km |
| 02-02 | 87 | 87 | Stage 1Bellegarde - Bellegarde (160.0km) | 160.0km |
| 30-01 | 84 | | Grand Prix Cycliste de Marseille La Marseillaise (1.1) | 174.0km |