19.10 | 7 | | | Japan Cup Cycle Road Race (1.HC) | 151.3 | 35 | 15 | more |
12.10 | 82 | | | Gran Premio Bruno Beghelli (1.HC) | 186.8 | | | more |
11.10 | 6 | | | Giro dell'Emilia (1.HC) | 200 | 40 | 20 | more |
09.10 | 12 | | | Gran Premio Città di Peccioli - Coppa Sabatini (1.1) | 197.9 | 10 | 3 | more |
05.10 | 79 | | | Il Lombardia (1.UWT) | 254 | 5 | | more |
21.09 | DNF | | | GP Industria & Commercio di Prato (1.1) | 185.8 | | | more |
20.09 | 28 | | | Memorial Marco Pantani (1.1) | 189.8 | | | more |
14.09 | 20 | | | Grand Prix Cycliste de Montréal (1.UWT) | 205.7 | 15 | | more |
12.09 | 14 | | | Grand Prix Cycliste de Québec (1.UWT) | 199.1 | 26 | | more |
02.09 › 07.092-7/9 | | | | Tour of Alberta (2.1) | | | | more |
| 7 | | | Youth classificationYouth classification | | | | |
| 17 | | | General classificationGeneral classification | | 4 | | |
07.09 | 12 | | | S5Stage 5 - Edmonton › Edmonton | 124.1 | | | |
06.09 | 22 | 23 | | S4Stage 4 - Edmonton › Strathcona County | 163.5 | | | |
05.09 | 42 | 23 | | S3Stage 3 - Wetaskiwin › Edmonton | 157.9 | | | |
04.09 | 25 | 24 | | S2Stage 2 - Innisfail › Red Deer | 145.3 | | | |
03.09 | 22 | 24 | | S1Stage 1 - Lethbridge › Lethbridge | 143 | | | |
02.09 | 41 | 41 | | ProloguePrologue - Calgary › Calgary | 4 | | | |
03.08 › 09.083-9/8 | | | | Tour de Pologne (2.UWT) | | | | more |
| 23 | | | Mountains classificationMountains classification | | | | |
| 9 | | | Points classificationPoints classification | | | | |
| 16 | | | General classificationGeneral classification | | 20 | | |
09.08 | 58 | | | S7 (ITT)Stage 7 (ITT) - Kraków › Kraków | 25 | | | |
08.08 | 14 | 13 | | S6Stage 6 - BUKOVINA Terma Hotel Spa › Bukowina Tatrzańska | 174 | | | |
07.08 | 7 | 5 | | S5Stage 5 - Zakopane › Strbske Pleso (Svk) | 190 | 4 | | |
06.08 | 32 | 16 | | S4Stage 4 - Tarnów Gemini Park › Katowice | 236 | | | |
05.08 | 47 | 14 | | S3Stage 3 - Kielce › Rzeszów | 174 | | | |
04.08 | 17 | 12 | | S2Stage 2 - Toruń › Warsaw | 226 | | | |
03.08 | 9 | 11 | | S1Stage 1 - Gdańsk › Bydgoszcz | 226 | 2 | | |
27.07 | DNF | | | Giro della Toscana (1.1) Italy | 195.6 | | | more |
26.07 | 2 | | | GP Industria & Artigianato (1.1) | 199.2 | 55 | 56 | more |
28.06 | 2 | | | National Championships Italy ME - Road Race (NC) | 220.5 | 10 | 30 | more |
14.06 › 22.0614-22/6 | | | | Tour de Suisse (2.UWT) | | | | more |
| 19 | | | Mountains classificationMountains classification | | | | |
| 20 | | | Points classificationPoints classification | | | | |
| 7 | | | General classificationGeneral classification | | 100 | 30 | |
22.06 | 12 | | | S9Stage 9 - Martigny › Saas-Fee | 156.5 | | | |
21.06 | 8 | 6 | | S8Stage 8 - Delémont › Verbier | 219.1 | 3 | | |
20.06 | 13 | 9 | | S7 (ITT)Stage 7 (ITT) - Worb › Worb | 24.7 | | | |
19.06 | 23 | 6 | | S6Stage 6 - Büren an der Aare › Delémont | 183.5 | | | |
18.06 | 26 | 6 | | S5Stage 5 - Ossingen › Büren an der Aare | 183.6 | | | |
17.06 | 21 | 6 | | S4Stage 4 - Heiden › Ossingen | 160.4 | | | |
16.06 | 11 | 6 | | S3Stage 3 - Sarnen › Heiden | 202.9 | | | |
15.06 | 54 | 12 | | S2Stage 2 - Bellinzona › Sarnen | 181.8 | | | |
14.06 | 13 | 13 | | S1 (ITT)Stage 1 (ITT) - Bellinzona › Bellinzona | 9.4 | | | |
28.05 › 01.0628-1/5 | | | | Tour des Fjords (2.1) | | | | more |
| 7 | | | Youth classificationYouth classification | | | | |
| 6 | | | Mountains classificationMountains classification | | | | |
| 29 | | | Points classificationPoints classification | | | | |
| 12 | | | General classificationGeneral classification | | 10 | 3 | |
01.06 | 9 | | | S5Stage 5 - Risavika › Stavanger | 171.3 | | | |
31.05 | 12 | 10 | | S4Stage 4 - 2020park › Stavanger | 179 | | | |
30.05 | 28 | 22 | | S3Stage 3 - Hjelmeland › Forsand | 163 | | | |
29.05 | 16 | 15 | | S2Stage 2 - Eidfjord › Haugesund | 203.2 | | | |
28.05 | 27 | 27 | | S1Stage 1 - Bergen › Ulvik | 161 | | | |
27.04 › 04.0527-4/4 | | | | Presidential Cycling Tour of Turkey (2.HC) | | | | more |
| 13 | | | Mountains classificationMountains classification | | | | |
| 16 | | | Points classificationPoints classification | | | | |
| 4 | | | General classificationGeneral classification | | 80 | 30 | |
04.05 | 20 | | | S8Stage 8 - Istanbul › Istanbul | 121 | | | |
03.05 | 19 | 4 | | S7Stage 7 - Kusadasi › Izmir | 136.3 | | | |
02.05 | 2 | 4 | | S6Stage 6 - Bodrum › Selçuk (Meryem Ana) | 183.1 | 18 | 14 | |
01.05 | 29 | 9 | | S5Stage 5 - Marmaris › Turgutreis | 177.3 | | | |
30.04 | 27 | 8 | | S4Stage 4 - Fethiye › Marmaris | 125 | | | |
29.04 | 11 | 9 | | S3Stage 3 - Finike › Elmali | 184.7 | | | |
28.04 | 31 | 54 | | S2Stage 2 - Alanya › Kemer | 174.6 | | | |
27.04 | 95 | 95 | | S1Stage 1 - Alanya › Alanya | 141.6 | | | |
22.04 › 25.0422-25/4 | | | | Giro del Trentino (2.HC) | 184.4 | | | more |
24.04 | DNS | | | S3Stage 3 - Mori › Roncone | 184.4 | | | |
23.04 | 43 | 42 | | S2Stage 2 - Limone sul Garda › San Giacomo di Brentonico | 164.5 | | | |
22.04 | 5 | 29 | | S1 (TTT)Stage 1 (TTT) - Riva del Garda › Arco | 13.4 | 3 | 1.2 | |
09.03 › 13.039-13/3 | | | | Tour de Taiwan (2.1) | | | | more |
| 11 | | | Mountains classificationMountains classification | | | | |
| 14 | | | Points classificationPoints classification | | | | |
| 7 | | | General classificationGeneral classification | | 20 | 12 | |
13.03 | 13 | | | S5Stage 5 - Donggang › Donggang | 168 | | | |
12.03 | 5 | 7 | | S4Stage 4 - Tainan City › Tainan City | 137 | 4 | 4 | |
11.03 | 5 | 8 | | S3Stage 3 - Changhua County › Changhua County | 154 | 4 | 4 | |
10.03 | 14 | 13 | | S2Stage 2 - Taoyuan County › Taoyuan County | 144 | | | |
09.03 | 59 | 61 | | S1Stage 1 - Taipei City › Taipei City | 52 | | | |
02.03 | 9 | | | G.P. Città di Lugano (1.1) | 169.4 | 16 | 7 | more |
21.02 | 28 | | | Trofeo Laigueglia (1.1) | 181.2 | | | more |
02.02 | 22 | | | Gran Premio Costa degli Etruschi - Alta Maremma (1.1) | 190.6 | | | more |