| 06-10 | 19 | | UCI Gravel World Championship (CM) | 182.0km |
| 03-10 | 94 | | Sparkassen Münsterland Giro (1.Pro) | 205.0km |
| 01-10 | 82 | | Binche - Chimay - Binche / Mémorial Frank Vandenbroucke (1.1) | 198.0km |
| 22-09 | DNF | | Gooikse Pijl (1.1) | |
| 15-09 | DNF | | Grand Prix Cycliste de Montréal (1.UWT) | 209.0km |
| 13-09 | 48 | | Grand Prix Cycliste de Québec (1.UWT) | 201.0km |
| 08-09 | 69 | | BEMER Cyclassics (1.UWT) | 198.0km |
| | | Lidl Deutschland Tour (2.Pro) |
| 48 | | Klassement |
| 25-08 | 59 | 48 | Stage 4Annweiler am Trifels - Saarbrücken (172.0km) | 172.0km |
| 24-08 | 58 | 17 | Stage 3Schwäbisch Gmünd - Villingen-Schwenningen (212.0km) | 212.0km |
| 23-08 | 38 | 17 | Stage 2Heilbronn - Schwäbisch Gmünd (173.0km) | 173.0km |
| 22-08 | 51 | 28 | Stage 1Schweinfurt - Heilbronn (177.0km) | 177.0km |
| 21-08 | 31 | 31 | PrologueSchweinfurt - Schweinfurt (2.0km) | 2.0km |
| | | Ethias-Tour de Wallonie (2.Pro) |
| 87 | | Klassement |
| 26-07 | 84 | 87 | Stage 5Mouscron - Thuin (192.0km) | 192.0km |
| 25-07 | 59 | 90 | Stage 4Verviers - Herve (190.0km) | 190.0km |
| 24-07 | 87 | 104 | Stage 3Arlon - La Roche-en-Ardenne (192.0km) | 192.0km |
| 23-07 | 97 | 99 | Stage 2Saint-Ghislain - Ouffet (188.0km) | 188.0km |
| 22-07 | 96 | 100 | Stage 1Tournai - Fleurus (178.0km) | 178.0km |
| 30-06 | 1 | | Hegau Gravel Festival (National) | 108.0km |
| 23-06 | 6 | | National Road Championships - Germany (CN) | 200.0km |
| | | Tour of Slovenia (2.Pro) |
| 61 | | Klassement |
| 21 | | Punten |
| 16-06 | 74 | 61 | Stage 5Sentjernej - Novo Mesto (159.0km) | 159.0km |
| 15-06 | 100 | 61 | Stage 4Škofljica - Krvavec (147.0km) | 147.0km |
| 14-06 | 49 | 46 | Stage 3 Ljubljana - Nova Gorica (160.0km) | 160.0km |
| 13-06 | 4 | 12 | Stage 2Zalec - Rogaška Slatina (180.0km) | 180.0km |
| 12-06 | 12 | 18 | Stage 1Murska Sobota - Ormoz (192.0km) | 192.0km |
| 02-06 | 96 | | Brussels Cycling Classic (1.Pro) | 218.0km |
| 01-06 | 54 | | Heylen Vastgoed Heistse Pijl (1.1) | 198.0km |
| | | Giro d'Italia (2.UWT) |
| 100 | | Klassement |
| 26-05 | 25 | 100 | Stage 21Roma - Roma (122.0km) | 122.0km |
| 25-05 | 98 | 100 | Stage 20Alpago - Bassano del Grappa (181.0km) | 181.0km |
| 24-05 | 80 | 100 | Stage 19Mortegliano - Sappada (157.0km) | 157.0km |
| 23-05 | 71 | 101 | Stage 18Fiera di Primeiro - Padua (171.0km) | 171.0km |
| 22-05 | 88 | 103 | Stage 17Selva di Valgardena - Passo del Brocon (159.0km) | 159.0km |
| 21-05 | 134 | 101 | Stage 16Livigno - Santa Cristina Valgardena (202.0km) | 202.0km |
| 19-05 | 61 | 102 | Stage 15Manerba del Garda - Livigno (220.0km) | 220.0km |
| 18-05 | 145 | 106 | Stage 14Castiglione delle Stiviere - Desenzano del Garda (31.0km) | 31.0km |
| 17-05 | 59 | 106 | Stage 13Riccione - Cento (179.0km) | 179.0km |
| 16-05 | 16 | 106 | Stage 12Martinsciuro - Fano (190.0km) | 190.0km |
| 15-05 | 79 | 112 | Stage 11Foiano di Val Fortore - Francavilla al Mare (207.0km) | 207.0km |
| 14-05 | 85 | 115 | Stage 10Pompeii - Cusano Mutri (142.0km) | 142.0km |
| 12-05 | 161 | 128 | Stage 9Avvezano - Napoli (214.0km) | 214.0km |
| 11-05 | 121 | 112 | Stage 8Spoleto - Prati di Tivo (153.0km) | 153.0km |
| 10-05 | 158 | 100 | Stage 7Foligno - Perugia (38.0km) | 38.0km |
| 09-05 | 103 | 97 | Stage 6Viareggio - Rapolano Terme (180.0km) | 180.0km |
| 08-05 | 33 | 92 | Stage 5Genua - Lucca (178.0km) | 178.0km |
| 07-05 | 158 | 98 | Stage 4Acqui Terme - Andora (190.0km) | 190.0km |
| 06-05 | 28 | 95 | Stage 3Novara - Fossano (166.0km) | 166.0km |
| 05-05 | 101 | 102 | Stage 2San Francesco al Campo - Santuario di Oropa (161.0km) | 161.0km |
| 04-05 | 117 | 117 | Stage 1Venaria Reale - Torino (143.0km) | 143.0km |
| 21-04 | DNF | | Liège-Bastogne-Liège (1.UWT) | 259.0km |
| | | Tour of the Alps (2.Pro) |
| 43 | | Klassement |
| 19-04 | 55 | 43 | Stage 5Levico Terme - Levico Terme (118.0km) | 118.0km |
| 18-04 | 74 | 48 | Stage 4Laives - Borgo Valsugana (141.0km) | 141.0km |
| 17-04 | 37 | 45 | Stage 3Schwaz - Schwaz (127.0km) | 127.0km |
| 16-04 | 16 | 59 | Stage 2Salorno - Stans (189.0km) | 189.0km |
| 15-04 | 87 | 87 | Stage 1Neumarkt - Kurtinig an der Weinstraße (133.0km) | 133.0km |
| 02-03 | DNF | | Strade Bianche (1.UWT) | 215.0km |
| 25-02 | 71 | | Kuurne-Brussel-Kuurne (1.Pro) | 196.0km |
| 24-02 | 72 | | Omloop Het Nieuwsblad Elite (1.UWT) | 202.0km |
| | | AlUla Tour (2.1) |
| 11 | | Klassement |
| 03-02 | 13 | 11 | Stage 5Al-'Ula Old Town - Skyviews of Harrat Uwayrid (150.0km) | 150.0km |
| 02-02 | 17 | 11 | Stage 4Hegra - Maraya (142.0km) | 142.0km |
| 01-02 | 17 | 13 | Stage 3AlUla International Airport - AlUla Camel Cup Track (170.0km) | 170.0km |
| 31-01 | 42 | 19 | Stage 2Winter Park - Sharaan Nature Reserve (199.0km) | 199.0km |
| 30-01 | 12 | 15 | Stage 1Al Manshiyah - Al Manshiyah (149.0km) | 149.0km |