| 17.06 › 21.0617-21/6 | | | | Tour de Suisse (2.UWT) | | | | | more |
| 91 | | | General classificationGeneral classification | | | 5 | | |
| 21.06 | 88 | | | S5Stage 5 - Villars-sur-Ollon › Villars-sur-Ollon | | 150.7 | | | |
| 20.06 | 120 | 121 | | S4 (ITT)Stage 4 (ITT) - Aarburg › Aarburg | | 23.7 | | | |
| 19.06 | 88 | 124 | | S3Stage 3 - Bad Ragaz › Bad Ragaz | | 157.4 | | | |
| 18.06 | 131 | 133 | | S2Stage 2 - Locarno › Locarno | | 157.7 | | | |
| 17.06 | 136 | 136 | | S1Stage 1 - Sondrio › Sondrio | | 144 | | | |
| 28.04 › 03.0528-3/4 | | | | Tour de Romandie (2.UWT) | | | | | more |
| 83 | | | General classificationGeneral classification | | | 5 | | |
| 03.05 | 84 | | | S5Stage 5 - Lucens › Leysin | | 178.2 | | | |
| 02.05 | 74 | 84 | | S4Stage 4 - Broc › Charmey | | 149.6 | | | |
| 01.05 | 78 | 85 | | S3Stage 3 - Orbe › Orbe | | 176.6 | | | |
| 30.04 | 80 | 85 | | S2Stage 2 - Rue › Vucherens | | 173.1 | | | |
| 29.04 | 85 | 91 | | S1Stage 1 - Martigny › Martigny | | 171.2 | | | |
| 28.04 | 48 | 48 | | ProloguePrologue - Villars-sur-Glâne › Villars-sur-Glâne | | 3.2 | | | |
| 12.04 | DNF | | | Paris-Roubaix Hauts-de-France (1.UWT) | | 258.3 | | | more |
| 05.04 | 38 | | | Ronde van Vlaanderen ME (1.UWT) 213k | | 278.2 | 5 | 15 | more |
| 01.04 | DNF | | | Dwars door Vlaanderen - A travers la Flandre ME (1.UWT) | | 184.6 | | | more |
| 29.03 | DNF | | | In Flanders Fields - From Middelkerke to Wevelgem (1.UWT) | | 240.8 | | | more |
| 27.03 | DNF | | | E3 Saxo Classic ME (1.UWT) | | 208.8 | | | more |
| 25.03 | 97 | | | Ronde Van Brugge - Tour of Bruges ME (1.UWT) | | 202.9 | 5 | | more |
| 08.03 › 15.038-15/3 | | | | Paris-Nice (2.UWT) | | | | | more |
| 15.03 | DNF | | | S8Stage 8 - Nice › Nice | | 129.2 | | | |
| 14.03 | 74 | 89 | | S7Stage 7 - Pont Louis Nucera › Isola | | 47 | | | |
| 13.03 | 84 | 98 | | S6Stage 6 - Barbentane › Apt | | 179.3 | | | |
| 12.03 | 73 | 107 | | S5Stage 5 - Cormoranche-sur-Saône › Colombier-le-Vieux | | 206.3 | | | |
| 11.03 | 104 | 109 | | S4Stage 4 - Bourges › Uchon | | 195 | | | |
| 10.03 | 14 | 88 | | S3 (TTT)Stage 3 (TTT) - Cosne-Cours-sur-Loire › Pouilly-sur-Loire | | 23.5 | | | |
| 09.03 | 27 | 97 | | S2Stage 2 - Épône › Montargis | | 187 | | | |
| 08.03 | 103 | 103 | | S1Stage 1 - Achères › Carrières-sous-Poissy | | 170.9 | | | |
| 01.03 | 121 | | | Kuurne - Brussel - Kuurne (1.Pro) | | 194.9 | | | more |
| 28.02 | 82 | | | Omloop Nieuwsblad ME (1.UWT) | | 207.2 | 5 | | more |
| 15.02 | 64 | | | Clasica de Almeria (1.Pro) | | 189.7 | | | more |
| 13.02 › 14.0213-14/2 | | | | Vuelta a la Región de Murcia “Costa Cálida” (2.1) | | | | | more |
| 13.02 | 37 | 37 | | S1Stage 1 - Fortuna › Yecla 68k | | 89.3 | | | |
| 27.01 › 31.0127-31/1 | | | | AlUla Tour (2.Pro) | | | | | more |
| 45 | | | General classificationGeneral classification | | | | | |
| 31.01 | 46 | | | S5Stage 5 - AlUla Old Town › Skyviews of Harrat Uwayrid | | 163.9 | | | |
| 30.01 | 70 | 44 | | S4Stage 4 - Winter Park › Hegra | | 173.4 | | | |
| 29.01 | 70 | 51 | | S3Stage 3 - Winter Park › Bir Jaydah Mountain Wirkah | | 142.1 | | | |
| 28.01 | 19 | 48 | | S2Stage 2 - AlManshiyah Train Station › AlManshiyah Train Station | | 152 | | | |
| 27.01 | 67 | 69 | | S1Stage 1 - AlUla Camel Cup Track › AlUla Camel Cup Track | | 158 | | | |
| 18.01 | 22 | | | Al Salam Championship (NAT) | | 200 | | | more |