| 19-10 | 9 | | Chrono des Nations (1.1) | 44.0km |
| 12-10 | 15 | | Paris - Tours Elite (1.Pro) | 211.0km |
| 07-10 | 80 | | Binche - Chimay - Binche / Mémorial Frank Vandenbroucke (1.1) | 203.0km |
| 03-10 | 24 | | Sparkassen Münsterland Giro (1.Pro) | 191.0km |
| 28-09 | DNF | | Paris-Chauny (1.1) | 188.0km |
| 24-09 | 7 | | Omloop van het Houtland (1.1) | 195.0km |
| | | Škoda Tour de Luxembourg (2.Pro) |
| 42 | | Klassement |
| 25 | | Punten |
| 20 | | Jongeren |
| 21-09 | 49 | 42 | Stage 5Mersch - Luxembourg (176.0km) | 176.0km |
| 20-09 | 12 | 48 | Stage 4Niederanven - Niederanven (26.0km) | 26.0km |
| 19-09 | 64 | 57 | Stage 3Mertert - Vianden (170.0km) | 170.0km |
| 18-09 | 7 | 9 | Stage 2Remich - Mamer (168.0km) | 168.0km |
| 17-09 | 17 | 17 | Stage 1Luxembourg - Luxembourg (152.0km) | 152.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 85 | 83 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo (41.0km) | 41.0km |
| 29-08 | 94 | 84 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan (10.0km) | 10.0km |
| 28-08 | 100 | 87 | Stage 5Saint-Gervais Mont-Blanc - Tignes (121.0km) | 121.0km |
| 27-08 | 21 | 46 | Stage 4Montagnat - Val Suran (110.0km) | 110.0km |
| 26-08 | 1 | 47 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne (158.0km) | 158.0km |
| 25-08 | 20 | 79 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 36 | 75 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 158 | 158 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | PostNord Tour of Denmark (2.Pro) |
| 12 | | Klassement |
| 29 | | Punten |
| 16-08 | 10 | 12 | Stage 5Hobro - Silkeborg (157.0km) | 157.0km |
| 15-08 | 23 | 11 | Stage 4Svendborg - Vejle (226.0km) | 226.0km |
| 14-08 | 12 | 14 | Stage 3Kerteminde - Kerteminde (14.0km) | 14.0km |
| 13-08 | 25 | 17 | Stage 2Rødovre - Gladsaxe (110.0km) | 110.0km |
| 12-08 | 20 | 19 | Stage 1Nexø - Rønne (178.0km) | 178.0km |
| 29-06 | 8 | | National Road Championships - Denmark (CN) | 202.0km |
| 27-06 | 7 | | National Road Championships - Denmark TT (CN) | 41.0km |
| 22-06 | 46 | | Copenhagen Sprint (1.UWT) | 235.0km |
| 15-06 | 40 | | Elfstedenronde Brugge (1.1) | 196.0km |
| | | Tour of Slovenia (2.Pro) |
| 78 | | Klassement |
| 23 | | Punten |
| 15 | | Jongeren |
| 08-06 | 60 | 78 | Stage 5Litija - Novo Mesto (123.0km) | 123.0km |
| 07-06 | 57 | 71 | Stage 4Maribor - Golte (175.0km) | 175.0km |
| 06-06 | 7 | 67 | Stage 3Majšperk - Ormož (173.0km) | 173.0km |
| 05-06 | 65 | 68 | Stage 2Velenje - Rogaška Slatina (157.0km) | 157.0km |
| 04-06 | 26 | 29 | Stage 1Piran - Škofljica (168.0km) | 168.0km |
| | | 4 Jours de Dunkerque (2.Pro) |
| 41 | | Klassement |
| 29 | | Berg |
| 21 | | Jongeren |
| 18-05 | 28 | 41 | Stage 5Worhmout - Dunkerque (185.0km) | 185.0km |
| 17-05 | 56 | 41 | Stage 4La Chapelle-d'Armentières - Cassel (172.0km) | 172.0km |
| 16-05 | 11 | 47 | Stage 3Valenciennes - Famars (154.0km) | 154.0km |
| 15-05 | 43 | 50 | Stage 2Avesnes-sur-Helpe - Crépy-en-Valois (178.0km) | 178.0km |
| 14-05 | 63 | 64 | Stage 1Sainte-Catherine - Amiens (177.0km) | 177.0km |
| 13-05 | 122 | | Classique Dunkerque (1.Pro) | 193.0km |
| 11-05 | 84 | | Tro-Bro Léon (1.Pro) | 203.0km |
| 10-05 | DNF | | Grand Prix du Morbihan (1.Pro) | 196.0km |
| | | Presidential Cycling Tour of Turkiye (2.Pro) |
| 87 | | Klassement |
| 04-05 | 48 | 87 | Stage 8Çeşme - İzmir (105.0km) | 105.0km |
| 03-05 | 28 | 87 | Stage 7Selçuk - Çeşme (144.0km) | 144.0km |
| 02-05 | 116 | 89 | Stage 6Kusadasi - Selçuk (161.0km) | 161.0km |
| 01-05 | | 88 | Stage 5Marmaris - Aydin (151.0km) | 151.0km |
| 30-04 | 68 | 88 | Stage 4Marmaris - Akkaya (115.0km) | 115.0km |
| 29-04 | 134 | 119 | Stage 3Fethiye - Marmaris (175.0km) | 175.0km |
| 28-04 | 120 | 121 | Stage 2Kemer - Kalkan (167.0km) | 167.0km |
| 27-04 | 155 | 146 | Stage 1Antalya - Antalya (132.0km) | 132.0km |