| 10-10 | 50 | | Paris - Tours Elite (1.Pro) | 212.0km |
| 03-10 | DNF | | Paris-Roubaix (1.UWT) | 257.0km |
| 26-09 | DNF | | UCI World Championship Flanders (CM) | 268.0km |
| 19-09 | 76 | | Grand Prix d'Isbergues (1.1) | 199.0km |
| 12-09 | 35 | | GP de Fourmies / La Voix du Nord (1.Pro) | 197.0km |
| | | Benelux Tour (2.UWT) |
| 43 | | Klassement |
| 05-09 | 41 | 43 | Stage 7Namur - Geraardsbergen (178.0km) | 178.0km |
| 04-09 | 54 | 48 | Stage 6Ottignies - Houffalize (207.0km) | 207.0km |
| 03-09 | 13 | 28 | Stage 5Riemst - Bilzen (188.0km) | 188.0km |
| 02-09 | 16 | 44 | Stage 4Aalter - Ardooie (166.0km) | 166.0km |
| 01-09 | 29 | 44 | Stage 3Essen - Hoogerheide (168.0km) | 168.0km |
| 31-08 | 49 | 54 | Stage 2Lelystad - Lelystad (11.0km) | 11.0km |
| 30-08 | 79 | 79 | Stage 1Surhuisterveen - Dokkum (169.0km) | 169.0km |
| | | Tour de Pologne (2.UWT) |
| 52 | | Klassement |
| 20 | | Punten |
| 15-08 | 13 | 52 | Stage 7Zabrze - Kraków (145.0km) | 145.0km |
| 14-08 | 121 | 53 | Stage 6Katowice - Katowice (17.0km) | 17.0km |
| 13-08 | 8 | 50 | Stage 5Chocholow - Bielsko-Biala (172.0km) | 172.0km |
| 12-08 | 25 | 52 | Stage 4Tarnow - Bukovina Resort (160.0km) | 160.0km |
| 11-08 | 14 | 70 | Stage 3Sanok - Rzeszów (226.0km) | 226.0km |
| 10-08 | 88 | 73 | Stage 2Zamosc - Przemysl (200.0km) | 200.0km |
| 09-08 | 19 | 21 | Stage 1Lublin - Chelm (216.0km) | 216.0km |
| | | Ethias Tour de Wallonie (2.Pro) |
| 33 | | Klassement |
| 22 | | Punten |
| 28 | | Berg |
| 24-07 | 6 | 33 | Stage 5Dinant - Quaregnon (183.0km) | 183.0km |
| 23-07 | 18 | 35 | Stage 4Neufchâteau - Fleurus (206.0km) | 206.0km |
| 22-07 | 46 | 41 | Stage 3Plombières - Erezee (179.0km) | 179.0km |
| 21-07 | 21 | 24 | Stage 2Heusden-Zolder - Heusden-Zolder (120.0km) | 120.0km |
| 20-07 | 14 | 20 | Stage 1Genappe - Héron (185.0km) | 185.0km |
| | | Tour de Suisse (2.UWT) |
| 97 | | Klassement |
| 37 | | Punten |
| 13-06 | 112 | 97 | Stage 8Andermatt - Andermatt (118.0km) | 118.0km |
| 12-06 | 109 | 97 | Stage 7Sedrun - Andermatt (23.0km) | 23.0km |
| 11-06 | 107 | 99 | Stage 6Fiesch - Sedrun (162.0km) | 162.0km |
| 10-06 | 91 | 89 | Stage 5Gstaad - Leukerbad (172.0km) | 172.0km |
| 09-06 | 14 | 80 | Stage 4Sankt Urban - Gstaad (171.0km) | 171.0km |
| 08-06 | 53 | 88 | Stage 3Lachen - Pfaffnau (185.0km) | 185.0km |
| 07-06 | 94 | 96 | Stage 2Neuhausen am Rheinfall - Lachen (173.0km) | 173.0km |
| 06-06 | 76 | 76 | Stage 1Frauenfeld - Frauenfeld (10.0km) | 10.0km |
| 22-05 | 72 | | Tour du Finistère (1.1) | 196.0km |
| | | Tour de Romandie (2.UWT) |
| 83 | | Klassement |
| 02-05 | 36 | 83 | Stage 5Freiburg - Freiburg (16.0km) | 16.0km |
| 01-05 | 87 | 85 | Stage 4Sion - Thyon (161.0km) | 161.0km |
| 30-04 | 25 | 85 | Stage 3Estavayer-le-Lac - Estavayer-le-Lac (168.0km) | 168.0km |
| 29-04 | 120 | 103 | Stage 2La Neuveville - Saint-Imier (165.0km) | 165.0km |
| 28-04 | 46 | 62 | Stage 1Aigle - Martigny (168.0km) | 168.0km |
| 27-04 | 89 | 89 | PrologueOron - Oron (4.0km) | 4.0km |
| 28-03 | 29 | | Cholet - Pays de la Loire (1.1) | 201.0km |
| 26-03 | 38 | | E3 Saxo Bank Classic (1.UWT) | 203.0km |
| 24-03 | 145 | | Oxyclean Classic Brugge-De Panne (1.UWT) | 203.0km |
| 19-03 | 12 | | Bredene Koksijde Classic (1.Pro) | 199.0km |
| 17-03 | 6 | | Danilith Nokere Koerse (1.Pro) | 195.0km |
| 27-02 | 2 | | Omloop Het Nieuwsblad Elite (1.UWT) | 200.0km |
| | | Etoile de Bessèges (2.1) |
| 4 | | Klassement |
| 13 | | Punten |
| 07-02 | 10 | 4 | Stage 5Alès - Alès (11.0km) | 11.0km |
| 06-02 | 20 | 7 | Stage 4Rousson - Saint-Siffret (152.0km) | 152.0km |
| 05-02 | 7 | 6 | Stage 3Bessèges - Bessèges (156.0km) | 156.0km |
| 04-02 | 24 | 13 | Stage 2Saint-Geniès - La Calmette (154.0km) | 154.0km |
| 03-02 | 9 | 9 | Stage 1Bellegarde - Bellegarde (141.0km) | 141.0km |
| 31-01 | 102 | | Grand Prix Cycliste la Marseillaise (1.1) | 171.0km |