| 20-10 | 15 | | Swiss Cyclocross Cup #2 - Alperosequer Schneisingen (C2) | |
| 13-10 | 18 | | Swiss Cyclocross Cup #1 - Internationales Radquer Steinmaur (C2) | |
| 06-10 | 9 | | Paris - Tours Elite (1.Pro) | 213.0km |
| 03-10 | 20 | | Sparkassen Münsterland Giro (1.Pro) | 205.0km |
| 02-10 | DNF | | Betcity Elfstedenrace (1.1) | 199.0km |
| 27-09 | 13 | | UCI World Championship Zurich U23 (CM) | 173.0km |
| 22-09 | 64 | | Paris-Chauny (1.1) | 197.0km |
| 20-09 | 73 | | Kampioenschap van Vlaanderen (1.1) | 181.0km |
| 18-09 | 12 | | Grand Prix de Wallonie (1.Pro) | 202.0km |
| 13-09 | 12 | | UEC Road European Championships U23 (CC) | 162.0km |
| 11-09 | 11 | | UEC Road European Championships TT U23 (CC) | 31.0km |
| 08-09 | 28 | | BEMER Cyclassics (1.UWT) | 198.0km |
| 28-08 | 3 | | Muur Classic Geraardsbergen (1.1) | 180.0km |
| | | Lidl Deutschland Tour (2.Pro) |
| 8 | | Klassement |
| 42 | | Punten |
| 5 | | Jongeren |
| 25-08 | 17 | 8 | Stage 4Annweiler am Trifels - Saarbrücken (172.0km) | 172.0km |
| 24-08 | 17 | 8 | Stage 3Schwäbisch Gmünd - Villingen-Schwenningen (212.0km) | 212.0km |
| 23-08 | 14 | 7 | Stage 2Heilbronn - Schwäbisch Gmünd (173.0km) | 173.0km |
| 22-08 | 20 | 9 | Stage 1Schweinfurt - Heilbronn (177.0km) | 177.0km |
| 21-08 | 10 | 10 | PrologueSchweinfurt - Schweinfurt (2.0km) | 2.0km |
| | | Arctic Race of Norway (2.Pro) |
| 5 | | Klassement |
| 5 | | Punten |
| 11 | | Berg |
| 3 | | Jongeren |
| 07-08 | 3 | 5 | Stage 4Glomfjord - Bodø (156.0km) | 156.0km |
| 06-08 | 10 | 5 | Stage 3Tverlandet - Sulitjelma (155.0km) | 155.0km |
| 05-08 | 7 | 11 | Stage 2Beiarn - Fauske (175.0km) | 175.0km |
| 04-08 | 8 | 12 | Stage 1Bodø - Rognan (156.0km) | 156.0km |
| 30-06 | 6 | | National Road Championships - Switzerland U23 (CN) | |
| 23-06 | 4 | | National Road Championships - Switzerland (CN) | 184.0km |
| 20-06 | 2 | | National Road Championships - Switzerland TT U23 (CN) | 15.0km |
| | | Tour of Slovenia (2.Pro) |
| 29 | | Klassement |
| 3 | | Jongeren |
| 16-06 | 53 | 29 | Stage 5Sentjernej - Novo Mesto (159.0km) | 159.0km |
| 15-06 | 31 | 24 | Stage 4Škofljica - Krvavec (147.0km) | 147.0km |
| 14-06 | 17 | 32 | Stage 3 Ljubljana - Nova Gorica (160.0km) | 160.0km |
| 13-06 | 18 | 61 | Stage 2Zalec - Rogaška Slatina (180.0km) | 180.0km |
| 12-06 | 125 | 125 | Stage 1Murska Sobota - Ormoz (192.0km) | 192.0km |
| 07-06 | 6 | | Grosser Preis des Kantons Aargau (1.1) | 173.0km |
| 02-06 | 80 | | Brussels Cycling Classic (1.Pro) | 218.0km |
| 29-05 | 11 | | Circuit Franco-Belge (1.Pro) | 190.0km |
| 26-05 | 10 | | Rund um Köln (1.1) | 194.0km |
| | | 4 Jours de Dunkerque (2.Pro) |
| 88 | | Klassement |
| 22 | | Punten |
| 19 | | Berg |
| 38 | | Jongeren |
| 19-05 | 85 | 88 | Stage 6Loon-Plage - Dunkerque (176.0km) | 176.0km |
| 18-05 | 101 | 90 | Stage 5Arques - Cassel (179.0km) | 179.0km |
| 17-05 | 22 | 7 | Stage 4Mazingarbe - Pont-à-Marcq (171.0km) | 171.0km |
| 16-05 | 70 | 6 | Stage 3Saint-Laurent-Blangy - Bouchain (165.0km) | 165.0km |
| 15-05 | 25 | 17 | Stage 2Wimereux - Abbeville (184.0km) | 184.0km |
| 14-05 | 14 | 14 | Stage 1Dunkerque - Le Touquet-Paris-Plage (173.0km) | 173.0km |
| 05-05 | 61 | | Tro-Bro Léon (1.Pro) | 203.0km |
| 04-05 | 24 | | Grand Prix du Morbihan (1.Pro) | 196.0km |
| 01-05 | 56 | | Eschborn-Frankfurt (1.UWT) | 203.0km |
| | | Tour de Romandie (2.UWT) |
| 84 | | Klassement |
| 55 | | Punten |
| 28-04 | 87 | 84 | Stage 5Vernier - Vernier (150.0km) | 150.0km |
| 27-04 | 114 | 93 | Stage 4Bains de Saillon - Leysin (151.0km) | 151.0km |
| 26-04 | 86 | 77 | Stage 3Oron - Oron (15.0km) | 15.0km |
| 25-04 | 111 | 80 | Stage 2Freiburg - Salvan (171.0km) | 171.0km |
| 24-04 | 11 | 24 | Stage 1Château-d'Œx - Freiburg (165.0km) | 165.0km |
| 23-04 | 36 | 36 | ProloguePayerne - Payerne (2.0km) | 2.0km |
| 07-04 | 61 | | Paris-Roubaix (1.UWT) | 260.0km |
| 31-03 | 46 | | Ronde van Vlaanderen (1.UWT) | 270.0km |
| 27-03 | 78 | | Dwars door Vlaanderen (1.UWT) | 188.0km |
| 24-03 | 74 | | Gent-Wevelgem in Flanders Fields (1.UWT) | 253.0km |
| 22-03 | 58 | | E3 Saxo Bank Classic (1.UWT) | 207.0km |
| 14-03 | 61 | | Grand Prix de Denain - Porte du Hainaut (1.Pro) | 196.0km |
| 13-03 | 14 | | Danilith Nokere Koerse (1.Pro) | 188.0km |
| 03-03 | 69 | | Grote prijs Jean - Pierre Monseré
(1.1) | 200.0km |
| 02-03 | 27 | | Grand Prix Criquielion (1.1) | 200.0km |
| 27-02 | 15 | | Le Samyn (1.1) | 202.0km |
| 24-02 | 49 | | Omloop Het Nieuwsblad Elite (1.UWT) | 202.0km |
| | | Vuelta a Andalucia Ruta Ciclista Del Sol (2.Pro) |
| 16-02 | 61 | | Stage 3Alcaudete - Alcaudete (4.0km) | 4.0km |
| | | AlUla Tour (2.1) |
| 62 | | Klassement |
| 03-02 | 71 | 62 | Stage 5Al-'Ula Old Town - Skyviews of Harrat Uwayrid (150.0km) | 150.0km |
| 02-02 | 30 | 65 | Stage 4Hegra - Maraya (142.0km) | 142.0km |
| 01-02 | 96 | 85 | Stage 3AlUla International Airport - AlUla Camel Cup Track (170.0km) | 170.0km |
| 31-01 | 76 | 72 | Stage 2Winter Park - Sharaan Nature Reserve (199.0km) | 199.0km |
| 30-01 | 26 | 29 | Stage 1Al Manshiyah - Al Manshiyah (149.0km) | 149.0km |