| 12-10 | 48 | | UCI Gravel World Championship (CM) | 181.0km |
| 07-10 | 83 | | Binche - Chimay - Binche / Mémorial Frank Vandenbroucke (1.1) | 203.0km |
| 04-10 | DNF | | UEC Road European Championships U23 (CC) | 121.0km |
| 27-09 | 26 | | Grand Prix Cerami (1.2) | 176.0km |
| 14-09 | DNF | | GP Rik Van Looy (1.2) | 185.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 90 | 78 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo (41.0km) | 41.0km |
| 29-08 | 44 | 73 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan (10.0km) | 10.0km |
| 28-08 | 67 | 78 | Stage 5Saint-Gervais Mont-Blanc - Tignes (121.0km) | 121.0km |
| 27-08 | 87 | 106 | Stage 4Montagnat - Val Suran (110.0km) | 110.0km |
| 26-08 | 126 | 112 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne (158.0km) | 158.0km |
| 25-08 | 13 | 115 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 123 | 131 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 150 | 150 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | Tour Alsace (2.2) |
| 75 | | Klassement |
| 3 | | Punten |
| 53 | | Jongeren |
| 03-08 | 74 | 75 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 2 | 88 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 109 | 101 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 117 | 74 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 27 | 70 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 06-07 | 14 | | National Road Championships - Germany U23 (CN) | |
| 27-06 | 5 | | National Road Championships - Germany TT U23 (CN) | 22.0km |
| 13-06 | DNF | | Grosser Preis des Kantons Aargau (1.1) | 173.0km |
| 09-06 | 129 | | Paris - Troyes (1.2) | 180.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 29-04 | DNF | | Stage 5Erdeven - Guenrouet (164.0km) | 164.0km |
| 28-04 | 10 | 13 | Stage 4Plonéour-Lanvern - Landévant (204.0km) | 204.0km |
| 27-04 | 22 | 31 | Stage 3Loudéac - Plonéour-Lanvern (212.0km) | 212.0km |
| 26-04 | 35 | 35 | Stage 2La Gouesnière - Le Cambout (182.0km) | 182.0km |
| 25-04 | 56 | 56 | Stage 1Hirel - La Fresnais (144.0km) | 144.0km |
| | | Tour du Loir et Cher (2.2) |
| 3 | | Klassement |
| 20-04 | | 3 | Stage 5Blois - Blois (97.0km) | 97.0km |
| 19-04 | 88 | 3 | Stage 4Pruniers-en-Sologne - Pruniers-en-Sologne (210.0km) | 210.0km |
| 18-04 | 15 | | Stage 3 Beauce-la-Romaine - Naveil (205.0km) | 205.0km |
| 17-04 | | | Stage 2Monlivault - Mont-Près-Chambord (139.0km) | 139.0km |
| | | Olympia's Tour (2.2) |
| 56 | | Klassement |
| 28 | | Jongeren |
| 30-03 | 70 | 56 | Stage 5Neede - Tiel (185.0km) | 185.0km |
| 29-03 | 68 | 59 | Stage 4Zwolle - Zwolle (195.0km) | 195.0km |
| 26-03 | 25 | | Stage 1Beltrum - Beltrum (10.0km) | 10.0km |
| 21-03 | 56 | | Youngster Coast Challenge (1.2U) | 170.0km |
| 09-03 | 4 | | Dorpenomloop Rucphen (1.2) | 180.0km |
| 04-03 | 93 | | Ename Samyn Classic (1.1) | 199.0km |
| 11-01 | 6 | | German National Championships CX U23 (CN) | |
| 05-01 | 46 | | UCI Cyclo-cross World Cup - Dendermonde (CDM) | |