| 11-10 | 66 | | Tour de Vendée (1.1) | 202.0km |
| 21-09 | 132 | | Gooikse Pijl (1.1) | 198.0km |
| 14-09 | DNF | | Grand Prix Cycliste de Montréal (1.UWT) | 209.0km |
| 12-09 | 106 | | Grand Prix Cycliste de Québec (1.UWT) | 216.0km |
| | | Tour Poitou - Charentes en Nouvelle Aquitaine (2.1) |
| 13 | | Klassement |
| 29-08 | 25 | 13 | Stage 4La Rochefoucauld - Poitiers (185.0km) | 185.0km |
| 28-08 | 15 | 15 | Stage 3Chauvigny - Jardres (27.0km) | 27.0km |
| 27-08 | 36 | 36 | Stage 2Jonzac - Gond-Pontouvre (175.0km) | 175.0km |
| 26-08 | 35 | 38 | Stage 1Sauzé-entre-Bois - La Genétouze (193.0km) | 193.0km |
| | | Tour de Pologne (2.UWT) |
| 73 | | Klassement |
| 21 | | Berg |
| 10-08 | 25 | 73 | Stage 7Wieliczka - Wieliczka (12.0km) | 12.0km |
| 09-08 | 69 | 78 | Stage 6Bukovina Resort - Bukowina Tatrzańska (147.0km) | 147.0km |
| 08-08 | 99 | 93 | Stage 5Katowice - Zakopane (205.0km) | 205.0km |
| 07-08 | 126 | 81 | Stage 4Rybnik - Cieszyn (200.0km) | 200.0km |
| 06-08 | 101 | 53 | Stage 3Walbrzych - Walbrzych (161.0km) | 161.0km |
| 05-08 | 55 | 52 | Stage 2Karpacz - Karpacz (148.0km) | 148.0km |
| 04-08 | 64 | 65 | Stage 1Wroclaw - Legnica (199.0km) | 199.0km |
| 27-07 | 64 | | Vuelta a Castilla y Leon (1.1) | 201.0km |
| 25-07 | 29 | | Prueba Villafranca - Ordiziako Klasika (1.1) | 168.0km |
| 29-06 | DNF | | National Road Championships - France (CN) | 231.0km |
| | | La Route d'Occitanie - CIC (2.1) |
| 34 | | Klassement |
| 37 | | Punten |
| 21-06 | 13 | 34 | Stage 4Saint-Gaudens - Saint-Girons (128.0km) | 128.0km |
| 20-06 | 53 | 47 | Stage 3Pujaudran - Luz-Ardiden (173.0km) | 173.0km |
| 19-06 | 35 | | Stage 2Gignac - Carmaux (195.0km) | 195.0km |
| 18-06 | 60 | 60 | Stage 1Saint-Affrique - Roquefortf (10.0km) | 10.0km |
| | | Giro d'Italia (2.UWT) |
| 124 | | Klassement |
| 116 | | Punten |
| 01-06 | 144 | 124 | Stage 21Rome - Rome (143.0km) | 143.0km |
| 31-05 | 118 | 123 | Stage 20Verrès - Sestriere (205.0km) | 205.0km |
| 30-05 | 119 | 123 | Stage 19Biella - Champoluc (166.0km) | 166.0km |
| 29-05 | 76 | 122 | Stage 18Morbegno - Cesano Maderno (144.0km) | 144.0km |
| 28-05 | 115 | 120 | Stage 17San Michele all'Adige - Bormio (155.0km) | 155.0km |
| 27-05 | 114 | 119 | Stage 16Piazzola sul Brenta - San Valentino di Brentonico (203.0km) | 203.0km |
| 25-05 | 84 | 124 | Stage 15Fiume - Asiago (219.0km) | 219.0km |
| 24-05 | 141 | 126 | Stage 14Treviso - Nova Gorica (195.0km) | 195.0km |
| 23-05 | 153 | 126 | Stage 13Rovigo - Viacenza (180.0km) | 180.0km |
| 22-05 | 54 | 123 | Stage 12Modena - Viadana (172.0km) | 172.0km |
| 21-05 | 160 | 123 | Stage 11Viareggio - Castelnovo ne' Monti (186.0km) | 186.0km |
| 20-05 | 35 | 122 | Stage 10Lucca - Pisa (28.0km) | 28.0km |
| 18-05 | 125 | 122 | Stage 9Gubbio - Siena (181.0km) | 181.0km |
| 17-05 | 108 | 117 | Stage 8Giulianova - Castelraimondo (197.0km) | 197.0km |
| 16-05 | 104 | 116 | Stage 7Castel di Sangro - Tagliacozzo (168.0km) | 168.0km |
| 15-05 | 159 | 119 | Stage 6Potenza - Napoli (227.0km) | 227.0km |
| 14-05 | 125 | 121 | Stage 5Ceglie Messapica - Matera (151.0km) | 151.0km |
| 13-05 | 120 | 120 | Stage 4Alberobello - Lecce (189.0km) | 189.0km |
| 11-05 | 127 | 122 | Stage 3Vlora - Vlora (160.0km) | 160.0km |
| 10-05 | 58 | 94 | Stage 2Tirana - Tirana (13.0km) | 13.0km |
| 09-05 | 98 | 98 | Stage 1Durazzo - Tirana (160.0km) | 160.0km |
| 01-05 | 68 | | Eschborn-Frankfurt (1.UWT) | 198.0km |
| | | Itzulia Basque Country (2.UWT) |
| 98 | | Klassement |
| 43 | | Punten |
| 12-04 | 100 | 98 | Stage 6Eibar - Eibar (153.0km) | 153.0km |
| 11-04 | 114 | 114 | Stage 5Urduña - Gernika (175.0km) | 175.0km |
| 10-04 | 155 | 107 | Stage 4Beasain - Markina-Xemein (169.0km) | 169.0km |
| 09-04 | 83 | 62 | Stage 3Zarautz - Beasain (156.0km) | 156.0km |
| 08-04 | 33 | 37 | Stage 2Pamplona - Lodosa (199.0km) | 199.0km |
| 07-04 | 37 | 37 | Stage 1Vitoria-Gasteiz - Vitoria-Gasteiz (16.0km) | 16.0km |
| 02-04 | 45 | | Paris - Camembert (1.1) | 199.0km |
| 30-03 | 50 | | La Roue Tourangelle (1.1) | 197.0km |
| 23-03 | DNF | | Cholet Agglo Tour (1.1) | 205.0km |
| | | Paris-Nice (2.UWT) |
| 73 | | Klassement |
| 16-03 | 77 | 73 | Stage 8Nice - Nice (119.0km) | 119.0km |
| 15-03 | 80 | 74 | Stage 7Nice - Auron (109.0km) | 109.0km |
| 14-03 | 118 | 69 | Stage 6Saint-Julien-en-Saint-Alban - Berre l'Etang (209.0km) | 209.0km |
| 13-03 | 58 | 57 | Stage 5Saint-Just-en-Chevalet - La Côte-Saint-André (203.0km) | 203.0km |
| 12-03 | 75 | 62 | Stage 4Vichy - La Loge des Gardes (163.0km) | 163.0km |
| 11-03 | 17 | 49 | Stage 3Circuit Nevers Magny-Cours - Nevers (28.0km) | 28.0km |
| 10-03 | 79 | 107 | Stage 2Montesson - Bellegarde (183.0km) | 183.0km |
| 09-03 | 122 | 122 | Stage 1Le Perray-en-Yvelines - Le Perray-en-Yvelines (156.0km) | 156.0km |
| 02-03 | 54 | | Faun Drome Classic (1.Pro) | 189.0km |
| 01-03 | 68 | | Faun-Ardèche Classic (1.Pro) | 165.0km |
| | | Tour des Alpes-Maritimes (2.1) |
| 29 | | Klassement |
| 23-02 | 36 | 29 | Stage 2Villefranche-sur-Mer - Vence (131.0km) | 131.0km |
| 22-02 | 31 | 31 | Stage 1Contes - Gourdon (162.0km) | 162.0km |
| 21-02 | 48 | | Classic Var (1.1) | 165.0km |
| | | Etoile de Bessèges - Tour du Gard (2.1) |
| 19 | | Klassement |
| 25 | | Punten |
| 09-02 | 14 | 19 | Stage 5Alès - Alès (10.0km) | 10.0km |
| 08-02 | 29 | 24 | Stage 4Vauvert - Le Mont Bouquet (119.0km) | 119.0km |
| 07-02 | 23 | 29 | Stage 3Bessèges - Bessèges (136.0km) | 136.0km |
| 06-02 | 92 | 58 | Stage 2Domessargues - Marguerittes (165.0km) | 165.0km |
| 05-02 | 53 | 53 | Stage 1Bellegarde - Bellegarde (159.0km) | 159.0km |
| 02-02 | 66 | | Grand Prix Cycliste de Marseille La Marseillaise (1.1) | 164.0km |