| 29-09 | DNF | | UCI World Championship Zurich (CM) | 273.0km |
| 21-09 | 37 | | SUPER 8 Classic (1.Pro) | 197.0km |
| 20-09 | 102 | | Kampioenschap van Vlaanderen (1.1) | 181.0km |
| 18-09 | 62 | | Grand Prix de Wallonie (1.Pro) | 202.0km |
| 15-09 | 77 | | Grand Prix Cycliste de Montréal (1.UWT) | 209.0km |
| 13-09 | 103 | | Grand Prix Cycliste de Québec (1.UWT) | 201.0km |
| | | Renewi Tour (2.UWT) |
| 29-08 | DNS | | Stage 2Tessenderlo - Tessenderlo (15.0km) | 15.0km |
| 28-08 | 148 | 148 | Stage 1Riemst - Bilzen (163.0km) | 163.0km |
| 25-08 | 89 | | Bretagne Classic - Ouest-France (1.UWT) | 259.0km |
| | | Tour de Pologne (2.UWT) |
| 52 | | Klassement |
| 9 | | Berg |
| 18-08 | 64 | 52 | Stage 7Wieliczka - Kraków (142.0km) | 142.0km |
| 17-08 | 55 | 52 | Stage 6Wadowice - Bukovina Resort (183.0km) | 183.0km |
| 16-08 | 98 | 51 | Stage 5Katowice - Katowice (187.0km) | 187.0km |
| 15-08 | 35 | 49 | Stage 4 Kudowa Zdrój - Prudnik (195.0km) | 195.0km |
| 14-08 | 52 | 51 | Stage 3Walbrzych - Duszniki Zdrój (156.0km) | 156.0km |
| 13-08 | 100 | 76 | Stage 2Mysłakowice - Karpacz (15.0km) | 15.0km |
| 12-08 | 70 | 70 | Stage 1Wroclaw - Karpacz (156.0km) | 156.0km |
| | | Ethias-Tour de Wallonie (2.Pro) |
| 73 | | Klassement |
| 3 | | Berg |
| 26-07 | 59 | 73 | Stage 5Mouscron - Thuin (192.0km) | 192.0km |
| 25-07 | 55 | 73 | Stage 4Verviers - Herve (190.0km) | 190.0km |
| 24-07 | 62 | 77 | Stage 3Arlon - La Roche-en-Ardenne (192.0km) | 192.0km |
| 23-07 | 109 | 88 | Stage 2Saint-Ghislain - Ouffet (188.0km) | 188.0km |
| 22-07 | 90 | 93 | Stage 1Tournai - Fleurus (178.0km) | 178.0km |
| 23-06 | 7 | | National Road Championships - Switzerland (CN) | 184.0km |
| 20-06 | 9 | | National Road Championships - Switzerland TT (CN) | 31.0km |
| | | Tour de Suisse (2.UWT) |
| 104 | | Klassement |
| 26 | | Punten |
| 38 | | Berg |
| 16-06 | 76 | 104 | Stage 8Villars-sur-Ollon - Villars-sur-Ollon (15.0km) | 15.0km |
| 15-06 | 89 | 107 | Stage 7Villars-sur-Ollon - Villars-sur-Ollon (118.0km) | 118.0km |
| 14-06 | 68 | 110 | Stage 6Locarno - Blatten (151.0km) | 151.0km |
| 13-06 | 94 | 118 | Stage 5Ambri - Carì (148.0km) | 148.0km |
| 12-06 | 148 | 130 | Stage 4Rüschlikon - Gotthard Pass (171.0km) | 171.0km |
| 11-06 | 124 | 112 | Stage 3Steinmaur - Rüschlikon (161.0km) | 161.0km |
| 10-06 | 122 | 120 | Stage 2Regensdorf - Regensdorf (177.0km) | 177.0km |
| 09-06 | 49 | 49 | Stage 1Vaduz - Vaduz (4.0km) | 4.0km |
| | | Tour de Romandie (2.UWT) |
| 108 | | Klassement |
| 28-04 | 108 | 108 | Stage 5Vernier - Vernier (150.0km) | 150.0km |
| 27-04 | 71 | 109 | Stage 4Bains de Saillon - Leysin (151.0km) | 151.0km |
| 26-04 | 85 | 126 | Stage 3Oron - Oron (15.0km) | 15.0km |
| 25-04 | 131 | 127 | Stage 2Freiburg - Salvan (171.0km) | 171.0km |
| 24-04 | 128 | 103 | Stage 1Château-d'Œx - Freiburg (165.0km) | 165.0km |
| 23-04 | 41 | 41 | ProloguePayerne - Payerne (2.0km) | 2.0km |
| 14-04 | DNF | | Amstel Gold Race (1.UWT) | 253.0km |
| 07-04 | 38 | | Paris-Roubaix (1.UWT) | 260.0km |
| 31-03 | DNF | | Ronde van Vlaanderen (1.UWT) | 270.0km |
| 27-03 | 132 | | Dwars door Vlaanderen (1.UWT) | 188.0km |
| 24-03 | 89 | | Gent-Wevelgem in Flanders Fields (1.UWT) | 253.0km |
| 22-03 | 33 | | E3 Saxo Bank Classic (1.UWT) | 207.0km |
| 20-03 | 80 | | Classic Brugge-De Panne (1.UWT) | 198.0km |
| | | Paris-Nice (2.UWT) |
| 63 | | Klassement |
| 12 | | Berg |
| 10-03 | 57 | 63 | Stage 8Nice - Nice (109.0km) | 109.0km |
| 09-03 | 45 | 68 | Stage 7Nice - La Madone d'Utelle (104.0km) | 104.0km |
| 08-03 | 75 | 85 | Stage 6Sisteron - La Colle-sur-Loup (198.0km) | 198.0km |
| 07-03 | 99 | 86 | Stage 5Saint-Sauveur-de-Montagut - Sisteron (193.0km) | 193.0km |
| 06-03 | 86 | 96 | Stage 4Châlon-sur-Saône - Mont Brouilly (183.0km) | 183.0km |
| 05-03 | | 101 | Stage 3Auxerre - Auxerre (26.0km) | 26.0km |
| 04-03 | 31 | 29 | Stage 2Thoiry - Montargis (177.0km) | 177.0km |
| 03-03 | 56 | 56 | Stage 1Les Mureaux - Les Mureaux (157.0km) | 157.0km |
| 25-02 | 33 | | Kuurne-Brussel-Kuurne (1.Pro) | 196.0km |
| 24-02 | 26 | | Omloop Het Nieuwsblad Elite (1.UWT) | 202.0km |
| 10-02 | 73 | | Figueira Champions Classic (1.Pro) | 220.0km |
| | | AlUla Tour (2.1) |
| 35 | | Klassement |
| 03-02 | 47 | 35 | Stage 5Al-'Ula Old Town - Skyviews of Harrat Uwayrid (150.0km) | 150.0km |
| 02-02 | 34 | 41 | Stage 4Hegra - Maraya (142.0km) | 142.0km |
| 01-02 | 53 | 56 | Stage 3AlUla International Airport - AlUla Camel Cup Track (170.0km) | 170.0km |
| 31-01 | 73 | 62 | Stage 2Winter Park - Sharaan Nature Reserve (199.0km) | 199.0km |
| 30-01 | 35 | 37 | Stage 1Al Manshiyah - Al Manshiyah (149.0km) | 149.0km |
| | | Santos Tour Down Under (2.UWT) |
| 124 | | Klassement |
| 39 | | Punten |
| 21-01 | 78 | 124 | Stage 6Unley - Mount Lofty (128.0km) | 128.0km |
| 20-01 | 130 | 129 | Stage 5Christies Beach - Willunga (129.0km) | 129.0km |
| 19-01 | 70 | 131 | Stage 4Murray Bridge - Port Elliot (136.0km) | 136.0km |
| 18-01 | 133 | 132 | Stage 3Tea Tree Gully - Campbelltown (145.0km) | 145.0km |
| 17-01 | 87 | 107 | Stage 2Norwood - Lobethal (141.0km) | 141.0km |
| 16-01 | 129 | 129 | Stage 1Tanunda - Tanunda (144.0km) | 144.0km |
| 13-01 | 94 | | Down Under Classic (CRTP) | |