12.10 | DNF | | | Il Lombardia (1.UWT) | 255 | | | more |
05.10 | 23 | | | Giro dell'Emilia (1.Pro) | 215.3 | 3 | 5 | more |
29.09 | DNF | | | World Championships ME - Road Race (WC) | 273.9 | | | more |
25.09 | 2 | | | World Championships - Mixed Relay TTT (WC) | 53.7 | 20 | 83.33 | more |
18.09 › 22.0918-22/9 | | | | Skoda Tour de Luxembourg (2.Pro) | | | | more |
19.09 | DNS | | | S2Stage 2 - Junglinster › Schifflange | 155 | | | |
18.09 | 65 | 65 | | S1Stage 1 - Luxembourg › Luxembourg | 158 | | | |
14.09 | 46 | | | Memorial Marco Pantani (1.1) 68k | 195.4 | | | more |
12.09 | DNF | | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | 197.6 | | | more |
11.09 | 4 | | | Giro della Toscana - Memorial Alfredo Martini (1.1) | 182.7 | 32 | 60 | more |
21.08 › 25.0821-25/8 | | | | Lidl Deutschland Tour (2.Pro) | | | | more |
| 10 | | | Youth classificationYouth classification | | | | |
| 18 | | | General classificationGeneral classification | | 12 | 5 | |
25.08 | 24 | | | S4Stage 4 - Annweiler am Trifels › Saarbrücken | 182.7 | | | |
24.08 | 21 | 20 | | S3Stage 3 - Schwäbisch Gmünd › Villingen-Schwenningen | 211.1 | | | |
23.08 | 13 | 20 | | S2Stage 2 - Heilbronn › Schwäbisch Gmünd | 174.6 | | | |
22.08 | 30 | 31 | | S1Stage 1 - Schweinfurt › Heilbronn | 176.3 | | | |
21.08 | 35 | 35 | | ProloguePrologue - Schweinfurt › Schweinfurt | 2.9 | | | |
05.08 › 09.085-9/8 | | | | Vuelta a Burgos (2.Pro) | | | | more |
| 47 | | | Youth classificationYouth classification | | | | |
| 43 | | | Points classificationPoints classification | | | | |
| 111 | | | General classificationGeneral classification | | | | |
09.08 | 116 | | | S5Stage 5 - Frías › Condado de Treviño | 156 | | | |
08.08 | 126 | 106 | | S4 (ITT)Stage 4 (ITT) - Santa María del Campo › Pampliega | 18.5 | | | |
07.08 | 104 | 100 | | S3Stage 3 - Bodegas Nabal Gumiel de Izán › Lagunas de Neila | 138 | | | |
06.08 | 13 | 16 | | S2Stage 2 - Valle de Mena › Complejo Karstico Ojo Guareña | 161 | | | |
05.08 | 33 | 34 | | S1Stage 1 - Vilviestre del Pinar › Burgos | 168 | | | |
25.07 › 28.0725-28/7 | | | | Czech Tour (2.1) | | | | more |
| 1 | | | Youth classificationYouth classification | | | | |
| 12 | | | Mountains classificationMountains classification | | | | |
| 8 | | | Points classificationPoints classification | | | | |
| 5 | | | General classificationGeneral classification | | 28 | 50 | |
28.07 | 9 | | | S4Stage 4 - Šumperk › Šternberk | 131.8 | | | |
27.07 | 6 | 5 | | S3Stage 3 - Moravská Třebová › Dlouhé stráně | 134.5 | 3 | | |
26.07 | 7 | 5 | | S2Stage 2 - Zlín › Pustevny | 172.7 | 2 | | |
25.07 | 37 | 39 | | S1Stage 1 - Prostějov › Ostrava | 151.2 | | | |
23.06 | 1 | | | National Championships Germany ME - Road Race (NC) | 200.9 | 15 | 100 | more |
21.06 | 7 | | | National Championships Germany ME - ITT (NC) | 30.6 | | 3 | more |
09.06 › 16.069-16/6 | | | | Tour de Suisse (2.UWT) | | | | more |
| 8 | | | Youth classificationYouth classification | | | | |
| 19 | | | General classificationGeneral classification | | 24 | 30 | |
16.06 | 60 | | | S8 (ITT)Stage 8 (ITT) - Aigle › Villars-sur-Ollon | 15.7 | | | |
15.06 | 19 | 16 | | S7Stage 7 - Villars-sur-Ollon › Villars-sur-Ollon | 118.2 | | | |
14.06 | 19 | 20 | | S6Stage 6 - Ulrichen › Blatten | 42.5 | | | |
13.06 | 17 | 19 | | S5Stage 5 - Ambrì › Carì | 148.6 | | | |
12.06 | 38 | 34 | | S4Stage 4 - Rüschlikon › Gotthard Pass | 171 | | | |
11.06 | 17 | 12 | | S3Stage 3 - Steinmaur › Rüschlikon | 161.7 | | | |
10.06 | 44 | 22 | | S2Stage 2 - Vaduz › Regensdorf | 177.3 | | | |
09.06 | 26 | 26 | | S1 (ITT)Stage 1 (ITT) - Vaduz › Vaduz | 4.77 | | | |
23.05 › 26.0523-26/5 | | | | Tour of Norway (2.Pro) | | | | more |
| 2 | | | Youth classificationYouth classification | | | | |
| 9 | | | Mountains classificationMountains classification | | | | |
| 5 | | | General classificationGeneral classification | | 70 | 85 | |
26.05 | 7 | | | S4Stage 4 - Stavanger › Stavanger | 123.8 | 2 | | |
25.05 | 22 | 6 | | S3Stage 3 - Sola › Egersund | 173.1 | | | |
24.05 | 5 | 6 | | S2Stage 2 - Odda › Gullingen | 204.8 | 4 | 3 | |
23.05 | 7 | 7 | | S1Stage 1 - Voss › Voss Resort | 141.9 | 2 | | |
23.04 › 28.0423-28/4 | | | | Tour de Romandie (2.UWT) | | | | more |
| 17 | | | Youth classificationYouth classification | | | | |
| 11 | | | Mountains classificationMountains classification | | | | |
| 54 | | | Points classificationPoints classification | | | | |
| 77 | | | General classificationGeneral classification | | 5 | | |
28.04 | 106 | | | S5Stage 5 - Vernier › Vernier 101k | 150.8 | | | |
27.04 | 135 | 80 | | S4Stage 4 - Saillon › Leysin | 151.7 | | | |
26.04 | 39 | 19 | | S3 (ITT)Stage 3 (ITT) - Oron › Oron | 15.5 | | | |
25.04 | 22 | 15 | | S2Stage 2 - Fribourg › Salvan/Les Marécottes | 171 | | | |
24.04 | 28 | 46 | | S1Stage 1 - Château d'Oex › Fribourg | 165.7 | | | |
23.04 | 71 | 71 | | ProloguePrologue - Payerne › Payerne | 2.28 | | | |
09.04 › 12.049-12/4 | | | | Il Giro d'Abruzzo (2.1) | | | | more |
| 1 | | | Youth classificationYouth classification | | | | |
| 19 | | | Mountains classificationMountains classification | | | | |
| 18 | | | Points classificationPoints classification | | | | |
| 8 | | | General classificationGeneral classification | | 18 | 30 | |
12.04 | 14 | | | S4Stage 4 - Montorio al Vomano › L'Aquila | 173 | | | |
11.04 | 8 | 8 | | S3Stage 3 - Pratola Peligna › Prati di Tivo | 163 | 1 | | |
10.04 | 27 | 22 | | S2Stage 2 - Alanno › Magliano de' Marsi | 162 | | | |
09.04 | 30 | 31 | | S1Stage 1 - Vasto › Pescara | 161 | | | |
19.03 › 23.0319-23/3 | | | | Settimana Internazionale Coppi e Bartali (2.1) | | | | more |
| 23 | | | Youth classificationYouth classification | | | | |
| 24 | | | Mountains classificationMountains classification | | | | |
| 7 | | | Points classificationPoints classification | | | | |
| 51 | | | General classificationGeneral classification | | | | |
23.03 | 7 | | | S5Stage 5 - Forlì › Forlì | 157.9 | 2 | | |
22.03 | 41 | 67 | | S4Stage 4 - Brisighella › Brisighella 99k | 150.7 | | | |
21.03 | 81 | 79 | | S3Stage 3 - Riccione › Riccione | 132.2 | | | |
20.03 | 74 | 70 | | S2Stage 2 - Riccione › Sogliano al Rubicone | 156.5 | | | |
19.03 | 1 | 1 | | S1Stage 1 - Pesaro › Pesaro | 109.7 | 20 | 14 +3 | |
04.03 › 10.034-10/3 | | | | Tirreno-Adriatico (2.UWT) | | | | more |
| 23 | | | Youth classificationYouth classification | | | | |
| 72 | | | General classificationGeneral classification | | 5 | | |
10.03 | 95 | | | S7Stage 7 - San Benedetto del Tronto › San Benedetto del Tronto | 154 | | | |
09.03 | 133 | 78 | | S6Stage 6 - Sassoferrato › Cagli (Monte Petrano) | 180 | | | |
08.03 | 51 | 51 | | S5Stage 5 - Torricella Sicura › Valle Castellana | 144 | | | |
07.03 | 29 | 37 | | S4Stage 4 - Arrone › Giulianova | 207 | | | |
06.03 | 20 | 38 | | S3Stage 3 - Volterra › Gualdo Tadino | 225 | | | |
05.03 | 24 | 58 | | S2Stage 2 - Camaiore › Follonica | 198 | | | |
04.03 | 61 | 61 | | S1 (ITT)Stage 1 (ITT) - Lido di Camaiore › Lido di Camaiore | 10 | | | |
28.02 | 12 | | | Trofeo Laigueglia (1.Pro) | 202 | 18 | 25 | more |
25.02 | 81 | | | Faun Drôme Classic (1.Pro) | 189 | | | more |
24.02 | 15 | | | Faun-Ardèche Classic (1.Pro) | 168.6 | 12 | 10 | more |
31.01 › 04.0231-4/1 | | | | Etoile de Bessèges - Tour du Gard (2.1) | | | | more |
| 9 | | | Youth classificationYouth classification | | | | |
| 56 | | | General classificationGeneral classification | | | | |
04.02 | 19 | | | S5 (ITT)Stage 5 (ITT) - Alès › Alès | 10.645 | | | |
03.02 | 48 | 60 | | S4Stage 4 - Méjannes-le-Clap › Méjannes-le-Clap | 158.48 | | | |
02.02 | 74 | 71 | | S3Stage 3 - Bessèges › Bessèges | 161.11 | | | |
01.02 | 94 | 94 | | S2Stage 2 - Marguerittes › Rousson | 163.58 | | | |
28.01 | 43 | | | Grand Prix Cycliste de Marseille La Marseillaise (1.1) | 167.5 | | | more |