| 13-10 | DNF | | Paris - Tours Elite (1.HC) | 217.0km |
| 10-10 | 25 | | Paris-Bourges (1.1) | |
| 06-10 | 52 | | Gran Premio Bruno Beghelli (1.HC) | 199.0km |
| 05-10 | DNF | | Giro dell'Emilia (1.HC) | 207.0km |
| 22-09 | 4 | | Trofeo Matteotti (1.1) | |
| 21-09 | 22 | | Memorial Marco Pantani (1.1) | |
| 19-09 | DNF | | Coppa Sabatini (1.1) | |
| 18-09 | DNF | | Giro della Toscana (1.1) | 206.0km |
| 15-09 | 53 | | Tour du Doubs (1.1) | |
| 08-09 | DNF | | GP de Fourmies (1.HC) | |
| 01-09 | 71 | | Bretagne Classic - Ouest-France (1.UWT) | 248.0km |
| | | Tour du Limousin (2.1) |
| 30 | | Klassement |
| 24-08 | 34 | 30 | Stage 4Confolens - Limoges (177.0km) | 177.0km |
| 23-08 | 53 | 37 | Stage 3Chamboulive - Beynat (176.0km) | 176.0km |
| 22-08 | 25 | 28 | Stage 2Rouffiac - Trélissac (182.0km) | 182.0km |
| 21-08 | 34 | 34 | Stage 1Condat-sur-Vienne - Guéret (172.0km) | 172.0km |
| | | Vuelta a Burgos (2.HC) |
| 41 | | Klassement |
| 17-08 | 42 | 41 | Stage 5Santo Domingo de Silos - Lagunas de Neila (146.0km) | 146.0km |
| 16-08 | 76 | 41 | Stage 4Atapuerca - Ciudad Romana de Clunia (174.0km) | 174.0km |
| 15-08 | 48 | 38 | Stage 3Sargentes de La Lora - Picón Blanco (153.0km) | 153.0km |
| 14-08 | 31 | 23 | Stage 2Gumiel de Izán - Lerma (154.0km) | 154.0km |
| 13-08 | 27 | 27 | Stage 1Burgos - Burgos (161.0km) | 161.0km |
| | | VOO-Tour de Wallonie (2.HC) |
| 31 | | Klassement |
| 31-07 | 54 | 31 | Stage 5Couvin - Thuin (186.0km) | 186.0km |
| 30-07 | 40 | 19 | Stage 4Villers-le-Bouillet - Lierneux (178.0km) | 178.0km |
| 29-07 | 45 | 17 | Stage 3La Roche-en-Ardenne - Verviers (194.0km) | 194.0km |
| 28-07 | 26 | 16 | Stage 2Waremme - Beyne-Heusay (170.0km) | 170.0km |
| 27-07 | 44 | 47 | Stage 1Le Roeulx - Dottignies (186.0km) | 186.0km |
| 21-07 | 6 | | Tokyo 2020 Test Event (1.2) | |
| 30-06 | DNF | | National Road Championships - France (CN) | 252.0km |
| | | Critérium du Dauphiné (2.UWT) |
| 16-06 | DNF | | Stage 8Cluses - Champéry (113.0km) | 113.0km |
| 15-06 | 59 | 50 | Stage 7Saint-Genix-les-Villages - Les Sept Laux-Pipay (133.0km) | 133.0km |
| 14-06 | 46 | 44 | Stage 6Saint-Vulbas - Saint-Michel-de-Maurienne (228.0km) | 228.0km |
| 13-06 | 28 | 51 | Stage 5Boën-sur-Lignon - Voiron (201.0km) | 201.0km |
| 12-06 | 61 | 54 | Stage 4Roanne - Roanne (26.0km) | 26.0km |
| 11-06 | 22 | 52 | Stage 3Le Puy-en-Velay - Riom (172.0km) | 172.0km |
| 10-06 | 48 | 54 | Stage 2Mauriac - Craponne-sur-Arzon (180.0km) | 180.0km |
| 09-06 | 66 | 66 | Stage 1Aurillac - Jussac (142.0km) | 142.0km |
| 02-06 | 48 | | Boucles de l'Aulne (1.1) | |
| 01-06 | DNF | | Grand Prix de Plumelec-Morbihan (1.1) | 188.0km |
| | | Tour de l'Ain (2.1) |
| 13 | | Klassement |
| 26-05 | 17 | 13 | Stage 3Parc des Oiseaux - Le Grand Colombier (120.0km) | 120.0km |
| 25-05 | 16 | 13 | Stage 2Bellignat - Col de la Faucille (131.0km) | 131.0km |
| 24-05 | 27 | 27 | Stage 1Bourg-en-Bresse - Saint-Vulbas (164.0km) | 164.0km |
| 01-05 | 34 | | Eschborn-Frankfurt (1.UWT) | 218.0km |
| 28-04 | DNF | | Liège-Bastogne-Liège (1.UWT) | 256.0km |
| 24-04 | 68 | | La Flèche Wallonne (1.UWT) | 195.0km |
| 20-04 | 48 | | Tour du Finistère (1.1) | 196.0km |
| 16-04 | 41 | | Paris-Camembert (1.1) | 182.0km |
| | | Giro di Sicilia (2.1) |
| 33 | | Klassement |
| 7 | | Berg |
| 06-04 | 40 | 33 | Stage 4Giardini Naxos - Etna (122.0km) | 122.0km |
| 05-04 | 32 | 33 | Stage 3Caltanissetta - Raguse (186.0km) | 186.0km |
| 04-04 | 26 | 24 | Stage 2Capo d'Orlando - Palerme (236.0km) | 236.0km |
| 03-04 | 28 | 29 | Stage 1Catane - Milazzo (165.0km) | 165.0km |
| | | Volta Ciclista a Catalunya (2.UWT) |
| 24 | | Klassement |
| 31-03 | 22 | 24 | Stage 7Barcelona - Barcelona (143.0km) | 143.0km |
| 30-03 | 35 | 29 | Stage 6Valls - Vilaseca (174.0km) | 174.0km |
| 29-03 | 25 | 31 | Stage 5Puigcerda - San Cugat del Vallés (188.0km) | 188.0km |
| 28-03 | 33 | 39 | Stage 4Llanars - La Molina (150.0km) | 150.0km |
| 27-03 | 55 | 47 | Stage 3San Felíu de Guixols - Vallter 2000 (179.0km) | 179.0km |
| 26-03 | 37 | 38 | Stage 2Mataró - San Felíu de Guixols (179.0km) | 179.0km |
| 25-03 | 54 | 55 | Stage 1Calella - Calella (164.0km) | 164.0km |
| 17-03 | DNF | | Ronde van Drenthe (1.HC) | 217.0km |
| 03-03 | 29 | | Royal Bernard Drome Classic (1.1) | |
| 02-03 | 21 | | Classic de l'Ardèche Rhône Crussol (1.1) | |
| | | Tour of Oman (2.HC) |
| 8 | | Klassement |
| 36 | | Punten |
| 21-02 | 43 | 8 | Stage 6Al Mouj Muscat - Matrah Corniche (135.0km) | 135.0km |
| 20-02 | 8 | 8 | Stage 5Samayil - Al Jabal Al Akhdar (152.0km) | 152.0km |
| 19-02 | 23 | 16 | Stage 4Yiti - Oman Convention & Exhibition Center (125.0km) | 125.0km |
| 18-02 | 16 | 16 | Stage 3Shati Al Qurum - Qurayyat (192.0km) | 192.0km |
| 17-02 | 21 | 23 | Stage 2Royal Cavalry Oman - Al Bustan (158.0km) | 158.0km |
| 16-02 | 62 | 63 | Stage 1Al Sawadi Beach - Suhar Corniche (138.0km) | 138.0km |
| 31-01 | 11 | | Trofeo Ses Salines (1.1) | |
| 13-01 | 6 | | French National Championships CX (CN) | |
| 03-01 | 46 | | EKZ CrossTour (GC) | |
| 02-01 | 19 | | EKZ CrossTour - Meilen (C1) | |