| 13-10 | 44 | | Paris - Tours Elite (1.HC) | 217.0km |
| 10-10 | 34 | | Paris-Bourges (1.1) | |
| 06-10 | 32 | | Tour de Vendée (1.1) | 199.0km |
| 22-09 | 37 | | Trofeo Matteotti (1.1) | |
| 21-09 | 31 | | Memorial Marco Pantani (1.1) | |
| 19-09 | 20 | | Coppa Sabatini (1.1) | |
| 18-09 | 11 | | Giro della Toscana (1.1) | 206.0km |
| 15-09 | 16 | | Coppa Bernocchi (1.1) | |
| 14-09 | 45 | | Coppa Agostoni - Giro delle Brianze (1.1) | 195.0km |
| 01-09 | 84 | | Bretagne Classic - Ouest-France (1.UWT) | 248.0km |
| | | Tour du Limousin (2.1) |
| 14 | | Klassement |
| 24-08 | 14 | 14 | Stage 4Confolens - Limoges (177.0km) | 177.0km |
| 23-08 | 16 | 14 | Stage 3Chamboulive - Beynat (176.0km) | 176.0km |
| 22-08 | 33 | 17 | Stage 2Rouffiac - Trélissac (182.0km) | 182.0km |
| 21-08 | 30 | 16 | Stage 1Condat-sur-Vienne - Guéret (172.0km) | 172.0km |
| | | Arctic Race of Norway (2.HC) |
| 37 | | Klassement |
| 18-08 | 38 | 37 | Stage 4Lødingen - Narvik (166.0km) | 166.0km |
| 17-08 | 42 | 47 | Stage 3Sortland - Storheia (Melbu) (176.0km) | 176.0km |
| 16-08 | 62 | 80 | Stage 2Henningsvaer - Svolvær (168.0km) | 168.0km |
| 15-08 | 84 | 84 | Stage 1Å - Leknes (182.0km) | 182.0km |
| 21-07 | 24 | | Tokyo 2020 Test Event (1.2) | |
| | | Int. Österreich-Rundfahrt (2.1) |
| 32 | | Klassement |
| 34 | | Punten |
| 12-07 | 46 | 32 | Stage 6Kitzbühel - Kitzbühel (116.0km) | 116.0km |
| 11-07 | 55 | 32 | Stage 5Bruck - Kitzbühel (161.0km) | 161.0km |
| 10-07 | 36 | 33 | Stage 4Radstadt - Fuscher Törl (103.0km) | 103.0km |
| 09-07 | 7 | 44 | Stage 3Kirchschlag - Frohnleiten (176.0km) | 176.0km |
| 08-07 | 12 | 69 | Stage 2Zwettl - Wiener Neustadt (176.0km) | 176.0km |
| 07-07 | 17 | 72 | Stage 1Grieskirchen - Freistadt (138.0km) | 138.0km |
| 06-07 | 95 | 95 | PrologueWels - Wels (2.0km) | 2.0km |
| 30-06 | 49 | | National Road Championships - France (CN) | 252.0km |
| | | La Route d'Occitanie (2.1) |
| 35 | | Klassement |
| 23-06 | 49 | 35 | Stage 4Gers - Astarac Arros en Gascogne (154.0km) | 154.0km |
| 22-06 | 27 | 35 | Stage 3Arreau - Luchon (173.0km) | 173.0km |
| 21-06 | 48 | 52 | Stage 2Labruguière - Martres-Tolosane (187.0km) | 187.0km |
| 20-06 | 59 | 59 | Stage 1Gignac - Saint-Geniez-d Olt (175.0km) | 175.0km |
| 17-06 | 26 | | Mont Ventoux Denivelé Challenges (1.1) | 185.0km |
| 10-06 | 27 | | Ronde van Limburg (1.1) | |
| | | Skoda-Tour de Luxembourg (2.HC) |
| 21 | | Klassement |
| 09-06 | 23 | 21 | Stage 4Mersch - Luxembourg (176.0km) | 176.0km |
| 08-06 | 13 | 18 | Stage 3Mondorf-les-Bains - Diekirch (178.0km) | 178.0km |
| 07-06 | 45 | 69 | Stage 2Steinfort - Rosport (168.0km) | 168.0km |
| 06-06 | 32 | 92 | Stage 1Luxembourg - Bascharage (191.0km) | 191.0km |
| 05-06 | 100 | 100 | PrologueLuxembourg - Luxembourg (2.0km) | 2.0km |
| 02-06 | 49 | | Boucles de l'Aulne (1.1) | |
| 01-06 | DNF | | Grand Prix de Plumelec-Morbihan (1.1) | 188.0km |
| | | 4 Jours de Dunkerque (2.HC) |
| 13 | | Klassement |
| 43 | | Punten |
| 19-05 | 31 | 13 | Stage 6Roubaix - Dunkerque (174.0km) | 174.0km |
| 18-05 | 17 | 15 | Stage 5Gravelines - Cassel (181.0km) | 181.0km |
| 17-05 | 23 | 27 | Stage 4Fort-Mahon-Plage - Le Portel (184.0km) | 184.0km |
| 16-05 | 57 | 49 | Stage 3Laon - Compiègne (156.0km) | 156.0km |
| 15-05 | 54 | 44 | Stage 2Wallers - Saint-Quentin (181.0km) | 181.0km |
| 14-05 | 42 | 45 | Stage 1Dunkerque - Condé sur l'Escaut (180.0km) | 180.0km |
| 22-04 | 27 | | Tro-Bro Léon (1.1) | 205.0km |
| 20-04 | 43 | | Tour du Finistère (1.1) | 196.0km |
| 16-04 | 21 | | Paris-Camembert (1.1) | 182.0km |
| | | Circuit Cycliste Sarthe - Pays de la Loire (2.1) |
| 8 | | Klassement |
| 3 | | Punten |
| 7 | | Berg |
| 12-04 | 3 | 8 | Stage 4Sillé-le-Guillaume - Sillé-le-Guillaume (183.0km) | 183.0km |
| 11-04 | 33 | 16 | Stage 3Royal Abbey of Epau - Mont des Avaloirs (184.0km) | 184.0km |
| 10-04 | 39 | 7 | Stage 2Freigné - Belligné (172.0km) | 172.0km |
| 09-04 | 63 | 4 | Stage 1La Châtaigneraie - La Châtaigneraie (180.0km) | 180.0km |
| 31-03 | 53 | | Cholet - Pays de la Loire (1.1) | 203.0km |
| 30-03 | 58 | | Classic Loire Atlantique (1.1) | 182.0km |
| | | Paris-Nice (2.UWT) |
| 53 | | Klassement |
| 18 | | Berg |
| 17-03 | 61 | 53 | Stage 8Nice - Nice (110.0km) | 110.0km |
| 16-03 | 37 | 55 | Stage 7Nice - Col de Turini (181.0km) | 181.0km |
| 15-03 | 62 | 75 | Stage 6Peynier - Brignoles (176.0km) | 176.0km |
| 14-03 | 97 | 73 | Stage 5Barbentane - Barbentane (25.0km) | 25.0km |
| 13-03 | 57 | 72 | Stage 4Vichy - Pélussin (210.0km) | 210.0km |
| 12-03 | 117 | 129 | Stage 3Cepoy - Moulines/Yzeure (200.0km) | 200.0km |
| 11-03 | 103 | 118 | Stage 2Les Bréviaires - Bellegarde (163.0km) | 163.0km |
| 10-03 | 101 | 101 | Stage 1Saint-Germain-en-Laye - Saint-Germain-en-Laye (138.0km) | 138.0km |
| 03-03 | 18 | | Royal Bernard Drome Classic (1.1) | |
| 02-03 | 20 | | Classic de l'Ardèche Rhône Crussol (1.1) | |
| | | Tour du Haut Var Matin (2.1) |
| 21 | | Klassement |
| 19 | | Punten |
| 24-02 | 15 | 21 | Stage 3La Londe-les-Maures - Toulon (Mont Faron) (136.0km) | 136.0km |
| 23-02 | 10 | 25 | Stage 2Le Cannet des Maures - Mons (201.0km) | 201.0km |
| 22-02 | 54 | 54 | Stage 1Vence - Mandelieu-la-Napoule (154.0km) | 154.0km |
| | | Etoile de Bessèges (2.1) |
| 42 | | Klassement |
| 44 | | Punten |
| 10-02 | 56 | 42 | Stage 4Alès - Alès (10.0km) | 10.0km |
| 09-02 | 40 | 15 | Stage 3Bessèges - Bessèges (158.0km) | 158.0km |
| 08-02 | 77 | 14 | Stage 2Saint-Geniés-de-Malgoires - La Clamette (154.0km) | 154.0km |
| 07-02 | 52 | 53 | Stage 1Bellegarde - Beaucaire (162.0km) | 162.0km |
| 03-02 | 2 | | Grand Prix Cycliste la Marseillaise (1.1) | 139.0km |