| 12-10 | 32 | | UCI Gravel World Championship (CM) | 181.0km |
| 05-10 | DNF | | UEC Road European Championships (CC) | 202.0km |
| 28-09 | DNF | | UCI World Championship Kigali (CM) | 267.0km |
| 17-09 | 69 | | Grand Prix de Wallonie (1.Pro) | 187.0km |
| 14-09 | 22 | | GP de Fourmies / La Voix du Nord (1.Pro) | 193.0km |
| | | Tour of Britain (2.Pro) |
| 79 | | Klassement |
| 23 | | Punten |
| 07-09 | 80 | 79 | Stage 6Newport - Cardiff (122.0km) | 122.0km |
| 06-09 | 86 | 76 | Stage 5Pontypool - Tumble (138.0km) | 138.0km |
| 05-09 | 89 | 76 | Stage 4Atherstone - Burton Dassett Country Park (194.0km) | 194.0km |
| 04-09 | 7 | 13 | Stage 3Milton Keynes - Ampthill (132.0km) | 132.0km |
| 03-09 | 4 | 12 | Stage 2Stowmarket - Stowmarket (173.0km) | 173.0km |
| 02-09 | 18 | 21 | Stage 1Woodbridge - Southwold (167.0km) | 167.0km |
| | | Renewi Tour (2.UWT) |
| 24-08 | DNF | | Stage 5Leuven - Leuven (185.0km) | 185.0km |
| 23-08 | 5 | 49 | Stage 4Riemst - Bilzen (196.0km) | 196.0km |
| 22-08 | 61 | 51 | Stage 3Aalter - Geraardsbergen (179.0km) | 179.0km |
| 21-08 | 20 | 27 | Stage 2Blankenberge - Ardooie (169.0km) | 169.0km |
| 20-08 | 19 | 22 | Stage 1Terneuzen - Breskens (182.0km) | 182.0km |
| 17-08 | 63 | | ADAC Cyclassics (1.UWT) | 206.0km |
| | | Ethias-Tour de Wallonie (2.Pro) |
| 98 | | Klassement |
| 5 | | Berg |
| 30-07 | 56 | 98 | Stage 5Bertrix - Bertrix (183.0km) | 183.0km |
| 29-07 | 124 | 123 | Stage 4Welkenraedt - Seraing (163.0km) | 163.0km |
| 28-07 | 118 | 128 | Stage 3Estinnes - Antoing (165.0km) | 165.0km |
| 27-07 | 142 | 129 | Stage 2Huy - Sambreville (153.0km) | 153.0km |
| 26-07 | 64 | 63 | Stage 1Nassogne - Nassogne (182.0km) | 182.0km |
| 29-06 | 3 | | National Road Championships - Slovenia (CN) | |
| 22-06 | 54 | | Copenhagen Sprint (1.UWT) | 235.0km |
| | | Giro d'Italia (2.UWT) |
| 142 | | Klassement |
| 92 | | Punten |
| 32 | | Jongeren |
| 01-06 | 151 | 142 | Stage 21Rome - Rome (143.0km) | 143.0km |
| 31-05 | 140 | 143 | Stage 20Verrès - Sestriere (205.0km) | 205.0km |
| 30-05 | 159 | 140 | Stage 19Biella - Champoluc (166.0km) | 166.0km |
| 29-05 | 121 | 141 | Stage 18Morbegno - Cesano Maderno (144.0km) | 144.0km |
| 28-05 | 138 | 142 | Stage 17San Michele all'Adige - Bormio (155.0km) | 155.0km |
| 27-05 | 130 | 145 | Stage 16Piazzola sul Brenta - San Valentino di Brentonico (203.0km) | 203.0km |
| 25-05 | 160 | 152 | Stage 15Fiume - Asiago (219.0km) | 219.0km |
| 24-05 | 88 | 150 | Stage 14Treviso - Nova Gorica (195.0km) | 195.0km |
| 23-05 | 166 | 151 | Stage 13Rovigo - Viacenza (180.0km) | 180.0km |
| 22-05 | 9 | 150 | Stage 12Modena - Viadana (172.0km) | 172.0km |
| 21-05 | 157 | 151 | Stage 11Viareggio - Castelnovo ne' Monti (186.0km) | 186.0km |
| 20-05 | 135 | 150 | Stage 10Lucca - Pisa (28.0km) | 28.0km |
| 18-05 | 86 | 148 | Stage 9Gubbio - Siena (181.0km) | 181.0km |
| 17-05 | 168 | 164 | Stage 8Giulianova - Castelraimondo (197.0km) | 197.0km |
| 16-05 | 149 | 162 | Stage 7Castel di Sangro - Tagliacozzo (168.0km) | 168.0km |
| 15-05 | 9 | 172 | Stage 6Potenza - Napoli (227.0km) | 227.0km |
| 14-05 | 168 | 176 | Stage 5Ceglie Messapica - Matera (151.0km) | 151.0km |
| 13-05 | 15 | 176 | Stage 4Alberobello - Lecce (189.0km) | 189.0km |
| 11-05 | 173 | 179 | Stage 3Vlora - Vlora (160.0km) | 160.0km |
| 10-05 | 130 | 178 | Stage 2Tirana - Tirana (13.0km) | 13.0km |
| 09-05 | 180 | 180 | Stage 1Durazzo - Tirana (160.0km) | 160.0km |
| | | Volta Ciclista a Catalunya (2.UWT) |
| 30-03 | DNF | | Stage 7Barcelona - Barcelona (88.0km) | 88.0km |
| 29-03 | 72 | 118 | Stage 6Berga - Nuestra Senore de Queralt (25.0km) | 25.0km |
| 28-03 | 48 | 123 | Stage 5Paüls - Amposta (172.0km) | 172.0km |
| 27-03 | 139 | 127 | Stage 4Sant Vicenç de Castellet - Monasterio de Montserrat (188.0km) | 188.0km |
| 26-03 | 141 | 122 | Stage 3Viladecans - La Molina (218.0km) | 218.0km |
| 25-03 | 18 | 90 | Stage 2Banyoles - Figueres (177.0km) | 177.0km |
| 24-03 | 94 | 98 | Stage 1Sant Feliu de Guíxols - Sant Feliu de Guíxols (178.0km) | 178.0km |
| | | Paris-Nice (2.UWT) |
| 109 | | Klassement |
| 25 | | Punten |
| 29 | | Jongeren |
| 16-03 | 105 | 109 | Stage 8Nice - Nice (119.0km) | 119.0km |
| 15-03 | 109 | 115 | Stage 7Nice - Auron (109.0km) | 109.0km |
| 14-03 | 87 | 124 | Stage 6Saint-Julien-en-Saint-Alban - Berre l'Etang (209.0km) | 209.0km |
| 13-03 | 125 | 120 | Stage 5Saint-Just-en-Chevalet - La Côte-Saint-André (203.0km) | 203.0km |
| 12-03 | 100 | 111 | Stage 4Vichy - La Loge des Gardes (163.0km) | 163.0km |
| 11-03 | 12 | 125 | Stage 3Circuit Nevers Magny-Cours - Nevers (28.0km) | 28.0km |
| 10-03 | 8 | 18 | Stage 2Montesson - Bellegarde (183.0km) | 183.0km |
| 09-03 | 21 | 24 | Stage 1Le Perray-en-Yvelines - Le Perray-en-Yvelines (156.0km) | 156.0km |
| 02-03 | DNF | | Kuurne - Brussel - Kuurne (1.Pro) | 196.0km |
| 01-03 | 154 | | Omloop Het Nieuwsblad Elite (1.UWT) | 197.0km |
| | | Tour de la Provence (2.1) |
| 75 | | Klassement |
| 16-02 | 90 | 75 | Stage 3Rognac - Arles (197.0km) | 197.0km |
| 15-02 | 92 | 81 | Stage 2Forcalquier - Manosque (169.0km) | 169.0km |
| 14-02 | 66 | 66 | Stage 1Marseille - Saint-Victoret (175.0km) | 175.0km |
| 25-01 | 6 | | Gran Premio Castellón - Ruta de la Cerámica (1.1) | 171.0km |