| 28-09 | DNF | | UCI World Championship Kigali (CM) | 267.0km |
| 21-09 | 18 | | UCI World Championship Kigali TT (CM) | 40.0km |
| | | Vuelta a España (2.UWT) |
| 02-09 | DNF | | Stage 10Sendaviva - El Ferial Larra Belagua (175.0km) | 175.0km |
| 31-08 | 5 | 14 | Stage 9Alfaro - Estación de Esquí de Valdezcaray (195.0km) | 195.0km |
| 30-08 | 47 | 15 | Stage 8Monzón Templario - Zaragoza (163.0km) | 163.0km |
| 29-08 | 3 | 15 | Stage 7Andorra La Vella - Cerler (188.0km) | 188.0km |
| 28-08 | 29 | 27 | Stage 6Olot - Pal Andorra (170.0km) | 170.0km |
| 27-08 | 12 | 39 | Stage 5Figueres - Figueres (24.0km) | 24.0km |
| 26-08 | 57 | 45 | Stage 4Susa - Voiron (206.0km) | 206.0km |
| 25-08 | 54 | 48 | Stage 3San Maurizio Canavese - Ceres (134.0km) | 134.0km |
| 24-08 | 56 | 57 | Stage 2Alba - Puerto Limone (159.0km) | 159.0km |
| 23-08 | 48 | 50 | Stage 1Torino - Novara (186.0km) | 186.0km |
| | | Tour de France (2.UWT) |
| 26 | | Klassement |
| 90 | | Punten |
| 5 | | Jongeren |
| 27-07 | 128 | 26 | Stage 21Mantes-la-Ville - Paris (132.0km) | 132.0km |
| 26-07 | 39 | 26 | Stage 20Nantua - Pontarlier (184.0km) | 184.0km |
| 25-07 | 25 | 29 | Stage 19Albertville - La Plagne (93.0km) | 93.0km |
| 24-07 | 44 | 30 | Stage 18Vif - Courchevel Col de la Loze (171.0km) | 171.0km |
| 23-07 | 76 | 33 | Stage 17Bollène - Valence (160.0km) | 160.0km |
| 22-07 | 19 | 33 | Stage 16Montpellier - Mont Ventoux (171.0km) | 171.0km |
| 20-07 | 53 | 36 | Stage 15Muret - Carcassonne (169.0km) | 169.0km |
| 19-07 | 26 | 35 | Stage 14Pau - Luchon-Superbagnères (182.0km) | 182.0km |
| 18-07 | 123 | 52 | Stage 13Loudenvielle-Le Louron - Peyragudes (10.0km) | 10.0km |
| 17-07 | 12 | 50 | Stage 12Auch - Hautacam (180.0km) | 180.0km |
| 16-07 | 111 | 83 | Stage 11Toulouse - Toulouse (156.0km) | 156.0km |
| 14-07 | 79 | 77 | Stage 10Ennezat - Le Mont-Dore Puy de Sancy (165.0km) | 165.0km |
| 13-07 | 160 | 76 | Stage 9Chinon - Châteauroux (174.0km) | 174.0km |
| 12-07 | 111 | 71 | Stage 8Saint-Méen-le-Grand - Laval (171.0km) | 171.0km |
| 11-07 | 34 | 73 | Stage 7Saint-Malo - Mûr-de-Bretagne (197.0km) | 197.0km |
| 10-07 | 77 | 89 | Stage 6Bayeux - Vire-Normandie (201.0km) | 201.0km |
| 09-07 | 17 | 118 | Stage 5Caen - Caen (33.0km) | 33.0km |
| 08-07 | 146 | 136 | Stage 4Amiens - Rouen (174.0km) | 174.0km |
| 07-07 | 82 | 112 | Stage 3Valenciennes - Dunkerque (178.0km) | 178.0km |
| 06-07 | 77 | 113 | Stage 2Lauwin-Planque - Boulogne-sur-Mer (209.0km) | 209.0km |
| 05-07 | 148 | 150 | Stage 1Lille - Lille (184.0km) | 184.0km |
| 29-06 | DNF | | National Road Championships - Spain (CN) | 191.0km |
| 27-06 | 3 | | National Road Championships - Spain TT (CN) | 14.0km |
| | | La Route d'Occitanie - CIC (2.1) |
| 55 | | Klassement |
| 8 | | Punten |
| 13 | | Berg |
| 20 | | Jongeren |
| 21-06 | 39 | 55 | Stage 4Saint-Gaudens - Saint-Girons (128.0km) | 128.0km |
| 20-06 | 80 | 73 | Stage 3Pujaudran - Luz-Ardiden (173.0km) | 173.0km |
| 19-06 | 30 | 1 | Stage 2Gignac - Carmaux (195.0km) | 195.0km |
| 18-06 | 1 | 1 | Stage 1Saint-Affrique - Roquefortf (10.0km) | 10.0km |
| | | 4 Jours de Dunkerque (2.Pro) |
| 26 | | Klassement |
| 26 | | Punten |
| 14 | | Jongeren |
| 18-05 | 79 | 26 | Stage 5Worhmout - Dunkerque (185.0km) | 185.0km |
| 17-05 | 15 | 25 | Stage 4La Chapelle-d'Armentières - Cassel (172.0km) | 172.0km |
| 16-05 | 72 | 56 | Stage 3Valenciennes - Famars (154.0km) | 154.0km |
| 15-05 | 41 | 41 | Stage 2Avesnes-sur-Helpe - Crépy-en-Valois (178.0km) | 178.0km |
| 14-05 | 48 | 50 | Stage 1Sainte-Catherine - Amiens (177.0km) | 177.0km |
| | | Tour de Romandie (2.UWT) |
| 39 | | Klassement |
| 30 | | Punten |
| 23 | | Berg |
| 15 | | Jongeren |
| 04-05 | 6 | 39 | Stage 5Genève - Genève (17.0km) | 17.0km |
| 03-05 | 36 | 39 | Stage 4Sion - Thyon (128.0km) | 128.0km |
| 02-05 | 36 | 51 | Stage 3Cossonay - Cossonay (183.0km) | 183.0km |
| 01-05 | 76 | 56 | Stage 2La Grande Béroche - La Grande Béroche (157.0km) | 157.0km |
| 30-04 | 34 | 28 | Stage 1Münchenstein - Fribourg (194.0km) | 194.0km |
| 29-04 | 40 | 40 | PrologueSaint-Imier - Saint-Imier (3.0km) | 3.0km |
| 27-04 | 97 | | Liège-Bastogne-Liège (1.UWT) | 252.0km |
| 23-04 | 31 | | La Flèche Wallonne (1.UWT) | 205.0km |
| 20-04 | 29 | | Tour du Doubs (1.1) | 196.0km |
| 19-04 | 56 | | Tour du Jura Cycliste (1.1) | 176.0km |
| 22-03 | 82 | | Milano-Sanremo (1.UWT) | 289.0km |
| | | Paris-Nice (2.UWT) |
| 16 | | Klassement |
| 5 | | Jongeren |
| 16-03 | 23 | 16 | Stage 8Nice - Nice (119.0km) | 119.0km |
| 15-03 | 24 | 15 | Stage 7Nice - Auron (109.0km) | 109.0km |
| 14-03 | 20 | 17 | Stage 6Saint-Julien-en-Saint-Alban - Berre l'Etang (209.0km) | 209.0km |
| 13-03 | 26 | 22 | Stage 5Saint-Just-en-Chevalet - La Côte-Saint-André (203.0km) | 203.0km |
| 12-03 | 15 | 22 | Stage 4Vichy - La Loge des Gardes (163.0km) | 163.0km |
| 11-03 | 19 | 55 | Stage 3Circuit Nevers Magny-Cours - Nevers (28.0km) | 28.0km |
| 10-03 | 68 | 76 | Stage 2Montesson - Bellegarde (183.0km) | 183.0km |
| 09-03 | 78 | 79 | Stage 1Le Perray-en-Yvelines - Le Perray-en-Yvelines (156.0km) | 156.0km |
| 02-03 | 60 | | Faun Drome Classic (1.Pro) | 189.0km |
| 01-03 | 26 | | Faun-Ardèche Classic (1.Pro) | 165.0km |
| | | Tour de la Provence (2.1) |
| 6 | | Klassement |
| 8 | | Punten |
| 4 | | Berg |
| 1 | | Jongeren |
| 16-02 | 15 | 6 | Stage 3Rognac - Arles (197.0km) | 197.0km |
| 15-02 | 10 | 6 | Stage 2Forcalquier - Manosque (169.0km) | 169.0km |
| 14-02 | 13 | 6 | Stage 1Marseille - Saint-Victoret (175.0km) | 175.0km |
| 31-01 | 5 | | Trofeo Serra Tramuntana (1.1) | 151.0km |
| 29-01 | DNF | | Trofeo Calvià (1.1) | 149.0km |