| 12-10 | DNF | | Il Lombardia (1.UWT) | 252.0km |
| 05-10 | 23 | | Giro dell'Emilia (1.Pro) | 215.0km |
| 29-09 | DNF | | UCI World Championship Zurich (CM) | 273.0km |
| | | Skoda Tour de Luxembourg (2.Pro) |
| 19-09 | DNS | | Etappe 2Junglinster - Schifflange (155.0km) | 155.0km |
| 18-09 | 65 | 65 | Etappe 1Luxembourg - Luxembourg (156.0km) | 156.0km |
| 14-09 | 46 | | Memorial Marco Pantani (1.1) | 195.0km |
| 12-09 | DNF | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | 197.0km |
| 11-09 | 4 | | Giro della Toscana - Memorial Alfredo Martini (1.1) | 182.0km |
| | | Lidl Deutschland Tour (2.Pro) |
| 18 | | Klassement |
| 10 | | Jongeren |
| 25-08 | 24 | 18 | Etappe 4Annweiler am Trifels - Saarbrücken (172.0km) | 172.0km |
| 24-08 | 21 | 20 | Etappe 3Schwäbisch Gmünd - Villingen-Schwenningen (212.0km) | 212.0km |
| 23-08 | 13 | 20 | Etappe 2Heilbronn - Schwäbisch Gmünd (173.0km) | 173.0km |
| 22-08 | 30 | 31 | Etappe 1Schweinfurt - Heilbronn (177.0km) | 177.0km |
| 21-08 | 35 | 35 | ProloogSchweinfurt - Schweinfurt (2.0km) | 2.0km |
| | | Vuelta a Burgos (2.Pro) |
| 111 | | Klassement |
| 43 | | Punten |
| 47 | | Jongeren |
| 09-08 | 116 | 111 | Etappe 5Frías - Condado de Treviño (156.0km) | 156.0km |
| 08-08 | 126 | 106 | Etappe 4Santa María del Campo - Pampliega (18.0km) | 18.0km |
| 07-08 | 104 | 100 | Etappe 3Bodegas Nabal Gumiel De Izán - Lagunas de Neila (138.0km) | 138.0km |
| 06-08 | 13 | 16 | Etappe 2Valle De Mena - Complejo Karstico Ojo Guareña (161.0km) | 161.0km |
| 05-08 | 33 | 34 | Etappe 1Vilviestre Del Pinar - Burgos (168.0km) | 168.0km |
| | | Czech Tour (2.1) |
| 5 | | Klassement |
| 8 | | Punten |
| 12 | | Berg |
| 1 | | Jongeren |
| 28-07 | 9 | 5 | Etappe 4Šumperk - Šternberk (129.0km) | 129.0km |
| 27-07 | 6 | 5 | Etappe 3Moravska Trebova - Dlouhé (131.0km) | 131.0km |
| 26-07 | 7 | 5 | Etappe 2Zlin - Pustevny (170.0km) | 170.0km |
| 25-07 | 37 | 39 | Etappe 1Prostejov - Ostrava (151.0km) | 151.0km |
| 23-06 | 1 | | National Road Championships - Germany (CN) | 200.0km |
| 21-06 | 7 | | National Road Championships - Germany TT (CN) | 30.0km |
| | | Tour de Suisse (2.UWT) |
| 19 | | Klassement |
| 8 | | Jongeren |
| 16-06 | 60 | 19 | Etappe 8Villars-sur-Ollon - Villars-sur-Ollon (15.0km) | 15.0km |
| 15-06 | 19 | 16 | Etappe 7Villars-sur-Ollon - Villars-sur-Ollon (118.0km) | 118.0km |
| 14-06 | 19 | 20 | Etappe 6Locarno - Blatten (151.0km) | 151.0km |
| 13-06 | 17 | 19 | Etappe 5Ambri - Carì (148.0km) | 148.0km |
| 12-06 | 38 | 34 | Etappe 4Rüschlikon - Gotthard Pass (171.0km) | 171.0km |
| 11-06 | 17 | 11 | Etappe 3Steinmaur - Rüschlikon (161.0km) | 161.0km |
| 10-06 | 44 | 22 | Etappe 2Regensdorf - Regensdorf (177.0km) | 177.0km |
| 09-06 | 26 | 26 | Etappe 1Vaduz - Vaduz (4.0km) | 4.0km |
| | | Tour of Norway (2.Pro) |
| 5 | | Klassement |
| 9 | | Berg |
| 2 | | Jongeren |
| 26-05 | 7 | 5 | Etappe 4Stavanger - Stavanger (125.0km) | 125.0km |
| 25-05 | 22 | 6 | Etappe 3Sola - Egersund (168.0km) | 168.0km |
| 24-05 | 5 | 6 | Etappe 2Odda - Gullingen (208.0km) | 208.0km |
| 23-05 | 7 | 7 | Etappe 1Voss - Voss (145.0km) | 145.0km |
| | | Tour de Romandie (2.UWT) |
| 77 | | Klassement |
| 54 | | Punten |
| 11 | | Berg |
| 28-04 | 106 | 77 | Etappe 5Vernier - Vernier (150.0km) | 150.0km |
| 27-04 | 135 | 80 | Etappe 4Bains de Saillon - Leysin (151.0km) | 151.0km |
| 26-04 | 39 | 19 | Etappe 3Oron - Oron (15.0km) | 15.0km |
| 25-04 | 22 | 15 | Etappe 2Freiburg - Salvan (171.0km) | 171.0km |
| 24-04 | 28 | 46 | Etappe 1Château-d'Œx - Freiburg (165.0km) | 165.0km |
| 23-04 | 71 | 71 | ProloogPayerne - Payerne (2.0km) | 2.0km |
| | | Giro d'Abruzzo (2.1) |
| 8 | | Klassement |
| 18 | | Punten |
| 19 | | Berg |
| 12-04 | 14 | 8 | Etappe 4Montorio al Vomano - L'Aquila (169.0km) | 169.0km |
| 11-04 | 8 | 8 | Etappe 3Pratola Peligna - Prati di Tivo (163.0km) | 163.0km |
| 10-04 | 27 | 22 | Etappe 2Alanno - Magliano de' Marsi (161.0km) | 161.0km |
| 09-04 | 30 | 31 | Etappe 1Vasto - Pescara (161.0km) | 161.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 51 | | Klassement |
| 7 | | Punten |
| 24 | | Berg |
| 23-03 | 7 | 51 | Etappe 5Forlì - Forlì (157.0km) | 157.0km |
| 22-03 | 41 | 67 | Etappe 4Brisighella - Brisighella (150.0km) | 150.0km |
| 21-03 | 81 | 79 | Etappe 3Riccione - Riccione (134.0km) | 134.0km |
| 20-03 | 74 | 70 | Etappe 2Riccione - Sogliano al Rubicone (140.0km) | 140.0km |
| 19-03 | 1 | 1 | Etappe 1Pesaro - Pesaro (109.0km) | 109.0km |
| | | Tirreno-Adriatico (2.UWT) |
| 72 | | Klassement |
| 10-03 | 95 | 72 | Etappe 7San Benedetto del Tronto - San Benedetto del Tronto (154.0km) | 154.0km |
| 09-03 | 133 | 78 | Etappe 6Sassoferrato - Cagli (180.0km) | 180.0km |
| 08-03 | 50 | 50 | Etappe 5Torricella Sicura - Valle Castellana (146.0km) | 146.0km |
| 07-03 | 29 | 37 | Etappe 4Arrone - Giulianova (207.0km) | 207.0km |
| 06-03 | 20 | 38 | Etappe 3Volterra - Gualdo Tadino (220.0km) | 220.0km |
| 05-03 | 24 | 58 | Etappe 2Camaiore - Follonica (198.0km) | 198.0km |
| 04-03 | 61 | 61 | Etappe 1Lido di Camaiore - Lido di Camaiore (10.0km) | 10.0km |
| 28-02 | 12 | | Trofeo Laigueglia (1.Pro) | 202.0km |
| 25-02 | 81 | | Faun Drome Classic (1.1) | 189.0km |
| 24-02 | 15 | | Faun-Ardèche Classic (1.Pro) | 169.0km |
| | | Étoile de Bessèges (2.1) |
| 56 | | Klassement |
| 9 | | Jongeren |
| 04-02 | 19 | 56 | Etappe 5Alès - Alès (10.0km) | 10.0km |
| 03-02 | 48 | 60 | Etappe 4Méjannes le Clap - Méjannes le Clap (158.0km) | 158.0km |
| 02-02 | 74 | 71 | Etappe 3Bessèges - Bessèges (161.0km) | 161.0km |
| 01-02 | 94 | 94 | Etappe 2Marguerittes - Rousson (163.0km) | 163.0km |
| 28-01 | 43 | | Grand Prix Cycliste de Marseille La Marseillaise (1.1) | 167.0km |