| 26-12 | 15 | | Telenet UCI Cyclo-cross World Cup Heusden-Zolder (CDM) | |
| 23-12 | 13 | | Hansgrohe Superprestige Diegem (C1) | |
| 18-12 | 9 | | Telenet UCI Cyclo-cross World Cup Namur (CDM) | |
| 11-12 | 2 | | EKZ CrossTour - Eschenbach (C1) | |
| 10-12 | 1 | | Toi Toi Cup #7 - Uničov (C1) | |
| 08-12 | 1 | | Ciclocross del Ponte (C2) | |
| 26-11 | 10 | | Telenet UCI Cyclo-cross World Cup Zeven (CDM) | |
| 19-11 | 9 | | Soudal Classics Hasselt (C1) | |
| 17-11 | 9 | | Toi Toi Cup #5 - Slaný (C1) | |
| 12-11 | 13 | | De Grote Prijs van Brabant (C1) | |
| 11-11 | 7 | | Soudal Classics Jaarmarktcross Niel (C2) | |
| 06-11 | 22 | | EKZ CrossTour - Hittnau (C1) | |
| 05-11 | DNF | | Soudal Classics Waaslandcross (C2) | |
| 01-11 | 1 | | Gran Premio Mamma E Papa Guerciotti AM (C2) | |
| 25-10 | 4 | | 16e Kiremko Nacht van Woerden (C2) | |
| 23-10 | 13 | | Telenet UCI Cyclo-cross World Cup Valkenburg (CDM) | |
| 22-10 | 7 | | Niels Albert CX (C2) | |
| 16-10 | 3 | | Grand-Prix de la Commune de Contern (C2) | |
| 15-10 | 9 | | Polderscross Kruibeke (C2) | |
| 08-10 | 17 | | Berencross Meulebeke (C2) | |
| 02-10 | 8 | | EKZ CrossTour - Aigle (C1) | |
| 01-10 | 18 | | Soudal Classics Neerpelt (C2) | |
| 24-09 | 30 | | Telenet UCI Cyclo-cross World Cup Iowa (CDM) | |
| 23-09 | 1 | | Jingle Cross (C2) | |
| 18-09 | 5 | | EKZ CrossTour - Baden (C1) | |
| 04-09 | DNF | | Kernen Omloop Echt-Susteren (1.2) | |
| 28-08 | 39 | | Schaal Sels (1.1) | |
| 31-07 | DNF | | Rad am Ring (1.1) | |
| | | Course Cycliste de Solidarnosc et des Champions Olympiques (2.2) |
| 8 | | Standings |
| 5 | | Mountain |
| 02-07 | 5 | 8 | Stage 5Tarnobrzeg - Krosno | 195.0km |
| 01-07 | 12 | 22 | Stage 4Trybunalski - Kielce | 169.0km |
| 30-06 | 18 | 26 | Stage 3Pabianice - Sieradz | 84.0km |
| 30-06 | 59 | 35 | Stage 2Koluszki - Kutno | 99.0km |
| 29-06 | 16 | 18 | Stage 1Radom - Lodz | 178.0km |
| 26-06 | 72 | | National Road Championships - Germany (CN) | 215.0km |
| | | Oberösterreichrundfahrt (2.2) |
| 16 | | Standings |
| 8 | | Points |
| 19-06 | 8 | 16 | Stage 4Traun - Windischgarsten | 156.0km |
| 18-06 | 20 | 16 | Stage 3Eferding - Ulrichsberg | 142.0km |
| 17-06 | 28 | 3 | Stage 2Wels - Altheim | 155.0km |
| 16-06 | 2 | 2 | Stage 1Linz - Linz | 12.0km |
| 12-06 | 55 | | Rund um Köln (1.1) | 205.0km |
| | | Boucles de la Mayenne (2.1) |
| 18 | | Standings |
| 05-06 | 42 | 18 | Stage 3Juvigné - Laval | |
| 04-06 | 11 | 13 | Stage 2Saint-Berthevin - Craon | 180.0km |
| 03-06 | 51 | 16 | Stage 1Laval - Villaines-la-Juhel | 190.0km |
| 02-06 | 16 | 16 | PrologueLaval - Laval | 4.0km |
| | | Tour de Gironde (2.2) |
| 5 | | Standings |
| 3 | | Points |
| 29-05 | 8 | 5 | Stage 3Captieux - Villenave-d'Ornon | 163.0km |
| 28-05 | 2 | 5 | Stage 2Carbon-Blanc - Cenon | 211.0km |
| 27-05 | 63 | 131 | Stage 1Bordeaux-Caudéran - Lacanau Océan | 162.0km |
| 22-05 | 12 | | Grand Prix de la Somme (1.1) | 195.0km |
| | | Flèche du Sud (2.2) |
| 62 | | Standings |
| 08-05 | 92 | 62 | Stage 5Schifflange - Esch-sur-Alzette | 136.0km |
| 07-05 | 69 | 47 | Stage 4Rosport - Echternach | 157.0km |
| 05-05 | 28 | 35 | Stage 2Roeser - Rumelange | 154.0km |
| 04-05 | 82 | 82 | Stage 1Kayl - Kayl | 76.0km |
| 01-05 | DNF | | Rund um den Finanzplatz Eschborn-Frankfurt (1.HC) | 206.0km |
| 24-04 | 50 | | La Roue Tourangelle (1.1) | 192.0km |
| 17-04 | 46 | | Tro-Bro Léon (1.1) | 203.0km |
| 16-04 | 14 | | Tour du Finistère (1.1) | 192.0km |
| 02-04 | DNF | | Volta Limburg Classic (1.1) | 198.0km |
| 15-02 | 27 | | Hansgrohe Superprestige 2015-2016 (Eindklassement) | |
| 07-02 | 34 | | Bpost Bank Trofee 2015-2016 (Eindklassement) | |
| 31-01 | 10 | | UCI Cyclo-cross World Championships (CM) | |
| 24-01 | 9 | | UCI World Cup Hoogerheide (CDM) | |
| 17-01 | 18 | | UCI World Cup Lignières-en-Berry (CDM) | |
| 10-01 | 3 | | German National Championships CX (CN) | |
| 02-01 | 4 | | Internationale Centrumcross van Surhuisterveen (C2) | |
| 01-01 | 1 | | Grand Prix Hotel Threeland (C2) | |