| 01-10 | 47 | | UEC Gravel European Championship (CC) | 159.0km |
| 17-09 | DNF | | Grand Prix d'Isbergues (1.1) | |
| 16-09 | DNF | | Super 8 Classic / Primus Classic (1.Pro) | 203.0km |
| 13-09 | 103 | | Grand Prix de Wallonie (1.Pro) | 201.0km |
| 20-08 | 79 | | BEMER Cyclassics (1.UWT) | 205.0km |
| 06-08 | DNF | | UCI World Championship Glasgow (CM) | 271.0km |
| | | Tour de France (2.UWT) |
| 88 | | Klassement |
| 84 | | Punten |
| 49 | | Berg |
| 23-07 | 27 | 88 | Stage 21Saint-Quentin-en-Yvelines - Paris (115.0km) | 115.0km |
| 22-07 | 53 | 88 | Stage 20Belfort - Le Markstein (133.0km) | 133.0km |
| 21-07 | 28 | 91 | Stage 19Moirans-en-Montagne - Poligny (173.0km) | 173.0km |
| 20-07 | 62 | 94 | Stage 18Moûtiers - Bourg-en-Bresse (185.0km) | 185.0km |
| 19-07 | 101 | 97 | Stage 17Saint-Gervais Mont-Blanc - Courchevel (166.0km) | 166.0km |
| 18-07 | 99 | 95 | Stage 16Passy - Combloux (22.0km) | 22.0km |
| 16-07 | 96 | 98 | Stage 15Les Gets - Saint-Gervais Mont-Blanc (179.0km) | 179.0km |
| 15-07 | 63 | 96 | Stage 14Annemasse - Morzine (152.0km) | 152.0km |
| 14-07 | 108 | 110 | Stage 13Chatillon-sur-Chalaronne - Le Grand Colombier (138.0km) | 138.0km |
| 13-07 | 85 | 108 | Stage 12Roanne - Belleville-en-Beaujolais (169.0km) | 169.0km |
| 12-07 | 168 | | Stage 11Clermont-Ferrand - Moulins (180.0km) | 180.0km |
| 11-07 | 84 | 110 | Stage 10Vulcania (Auvergne) - Issoire (167.0km) | 167.0km |
| 09-07 | 86 | 114 | Stage 9Saint-Léonard-de-Noblat - Puy de Dôme (182.0km) | 182.0km |
| 08-07 | 97 | 114 | Stage 8Libourne - Limoges (201.0km) | 201.0km |
| 07-07 | 67 | 110 | Stage 7Mont-de-Marsan - Bordeaux (170.0km) | 170.0km |
| 06-07 | 99 | 114 | Stage 6Tarbes - Cauterets-Cambasque (145.0km) | 145.0km |
| 05-07 | 109 | 110 | Stage 5Pau - Laruns (163.0km) | 163.0km |
| 04-07 | 64 | 96 | Stage 4Dax - Nogaro (182.0km) | 182.0km |
| 03-07 | 36 | 98 | Stage 3Amorebieta - Bayonne (193.0km) | 193.0km |
| 02-07 | 93 | 102 | Stage 2Vitoria-Gasteiz - San Sebastián (209.0km) | 209.0km |
| 01-07 | 96 | 96 | Stage 1Bilbao - Bilbao (182.0km) | 182.0km |
| 24-06 | 26 | | National Road Championships - Italy (CN) | 227.0km |
| | | Tour de Suisse (2.UWT) |
| 90 | | Klassement |
| 18-06 | 100 | 90 | Stage 8Sankt Gallen - Abtwil (25.0km) | 25.0km |
| 17-06 | 25 | 91 | Stage 7Tübach - Weinfelden (162.0km) | 162.0km |
| 16-06 | | 119 | Stage 6La Punt - Oberwill (215.0km) | 215.0km |
| 15-06 | 105 | 119 | Stage 5Fiesch - La Punt (211.0km) | 211.0km |
| 14-06 | 116 | 118 | Stage 4Monthey - Leukerbad (152.0km) | 152.0km |
| 13-06 | 122 | 112 | Stage 3Tafers - Villars-sur-Ollon (143.0km) | 143.0km |
| 12-06 | 127 | 126 | Stage 2Beromünster - Nottwil (173.0km) | 173.0km |
| 11-06 | 126 | 126 | Stage 1Einsiedeln - Einsiedeln (12.0km) | 12.0km |
| 09-06 | 54 | | Grosser Preis des Kantons Aargau (1.1) | 173.0km |
| | | 4 Jours de Dunkerque (2.Pro) |
| 58 | | Klassement |
| 21-05 | 86 | 58 | Stage 6Avion - Dunkerque (180.0km) | 180.0km |
| 20-05 | 44 | 51 | Stage 5Roubaix - Cassel (183.0km) | 183.0km |
| 19-05 | 64 | 84 | Stage 4Maubeuge - Achicourt (173.0km) | 173.0km |
| 18-05 | 88 | 112 | Stage 3Saint-Quentin - Saint-Quentin (15.0km) | 15.0km |
| 17-05 | 107 | 112 | Stage 2Compiègne - Laon (165.0km) | 165.0km |
| 16-05 | 104 | 104 | Stage 1Dunkerque - Abbeville (193.0km) | 193.0km |
| 09-04 | DNF | | Paris-Roubaix (1.UWT) | 256.0km |
| 26-03 | DNF | | Gent-Wevelgem in Flanders Fields (1.UWT) | 260.0km |
| 24-03 | DNF | | E3 Saxo Bank Classic (1.UWT) | 204.0km |
| 18-03 | 35 | | Milano-Sanremo (1.UWT) | 294.0km |
| | | Tirreno-Adriatico (2.UWT) |
| 87 | | Klassement |
| 12-03 | 94 | 87 | Stage 7San Benedetto del Tronto - San Benedetto del Tronto (154.0km) | 154.0km |
| 11-03 | 91 | 94 | Stage 6Osimo - Osimo (194.0km) | 194.0km |
| 10-03 | 68 | 87 | Stage 5Morro d'Oro - Sarnano Sassotetto (168.0km) | 168.0km |
| 09-03 | 88 | 107 | Stage 4Greccio - Tortoreto Lido (219.0km) | 219.0km |
| 08-03 | 148 | 148 | Stage 3Follonica - Foligno (216.0km) | 216.0km |
| 07-03 | 126 | 110 | Stage 2Camaiore - Follonica (209.0km) | 209.0km |
| 06-03 | 126 | 126 | Stage 1Lido di Camaiore - Lido di Camaiore (11.0km) | 11.0km |
| 04-03 | 127 | | Strade Bianche (1.UWT) | 184.0km |
| 26-02 | DNF | | Kuurne-Brussel-Kuurne (1.Pro) | 193.0km |
| 25-02 | DNF | | Omloop Het Nieuwsblad Elite (1.UWT) | 207.0km |
| | | Vuelta a San Juan Internacional (2.Pro) |
| 43 | | Klassement |
| 29-01 | 38 | 43 | Stage 7San Juan - San Juan (112.0km) | 112.0km |
| 28-01 | 24 | 43 | Stage 6San Juan - San Juan (144.0km) | 144.0km |
| 27-01 | 70 | 44 | Stage 5San Juan - Alto de Colorado (173.0km) | 173.0km |
| 25-01 | 22 | 7 | Stage 4San Juan - Barreal (196.0km) | 196.0km |
| 24-01 | 9 | 9 | Stage 3San Juan - San Juan (170.0km) | 170.0km |
| 23-01 | 14 | 35 | Stage 2Villa San Augustin - San José de Jáchal (201.0km) | 201.0km |
| 22-01 | 64 | 61 | Stage 1San Juan - San Juan (143.0km) | 143.0km |