13.10 | DNF | | | Paris - Tours Elite (1.HC) | 217 | | | more |
06.10 | 32 | | | La DH Famenne Ardenne Classic (1.1) | 180 | | | more |
05.10 | 89 | | | Tour de l'Eurométropole (1.HC) | 176.7 | | | more |
29.09 | 45 | | | World Championships ME - Road Race (WC) | 260.7 | 15 | 10 | more |
18.09 | 44 | | | Grand Prix de Wallonie (1.1) | 205.9 | | | more |
07.09 › 14.097-14/9 | | | | OVO Energy Tour of Britain (2.HC) | | | | more |
| 29 | | | General classificationGeneral classification | | | 5 | |
14.09 | 36 | | | S8Stage 8 - Altrincham › Manchester | 166 | | | |
13.09 | 52 | 34 | | S7Stage 7 - Warwick › Burton Dassett Country Park | 188.7 | | | |
12.09 | 76 | 34 | | S6 (ITT)Stage 6 (ITT) - Pershore › Pershore | 14.4 | | | |
11.09 | 49 | 28 | | S5Stage 5 - Birkenhead › Birkenhead | 174.1 | | | |
10.09 | 31 | 30 | | S4Stage 4 - Gateshead › Kendal | 173.2 | | | |
09.09 | 48 | 44 | | S3Stage 3 - Berwick-upon-Tweed › Newcastle-upon-Tyne | 183.2 | | | |
08.09 | 45 | 48 | | S2Stage 2 - Kelso › Kelso | 165.9 | | | |
07.09 | 84 | 85 | | S1Stage 1 - Glasgow › Kirkcudbright | 201.5 | | | |
15.08 › 18.0815-18/8 | | | | Arctic Race of Norway (2.HC) | | | | more |
| 4 | | | Youth classificationYouth classification | | | | |
| 9 | | | Mountains classificationMountains classification | | | | |
| 13 | | | General classificationGeneral classification | | 28 | 20 | |
18.08 | 19 | | | S4Stage 4 - Lødingen › Narvik | 165.5 | | | |
17.08 | 17 | 14 | | S3Stage 3 - Sortland › Storheia Summit (Melbu) | 176.5 | | | |
16.08 | 55 | 21 | | S2Stage 2 - Henningsvær › Svolvær | 164 | | | |
15.08 | 15 | 17 | | S1Stage 1 - Å › Leknes | 181 | | | |
11.08 | DNF | | | European Continental Championships ME - Road Race (CC) | 172.6 | | | more |
03.08 | 94 | | | Hansa Bygg Kalmar Grand Prix Road Race (1.2) | 179 | | | more |
27.07 › 31.0727-31/7 | | | | Tour de Wallonie (2.HC) | | | | more |
| 8 | | | Youth classificationYouth classification | | | | |
| 24 | | | Points classificationPoints classification | | | | |
| 18 | | | General classificationGeneral classification | | 12 | 5 | |
31.07 | 28 | | | S5Stage 5 - Couvin › Thuin | 186.7 | | | |
30.07 | 38 | 21 | | S4Stage 4 - Villers-Le-Bouillet › Lierneux | 178.2 | | | |
29.07 | 17 | 20 | | S3Stage 3 - La Roche-en-Ardenne › Verviers | 204.2 | | | |
28.07 | 8 | 25 | | S2Stage 2 - Waremme › Beyne Heusay | 170.4 | 1 | | |
27.07 | 104 | 104 | | S1Stage 1 - Le Roeulx › Dottignies | 186.4 | | | |
25.07 | 28 | | | Grand Prix Cerami (1.1) | 164.7 | | | more |
30.06 | 1 | | | National Championships Sweden ME - Road Race (NC) | 184.8 | 15 | 100 | more |
23.06 | 68 | | | Elfstedenronde (1.1) | 196.8 | | | more |
22.06 | 34 | | | Heylen Vastgoed Heistse Pijl (1.1) | 194 | | | more |
21.06 | DNF | | | Dwars door het Hageland (1.1) | 203.8 | | | more |
12.06 › 16.0612-16/6 | | | | Baloise Belgium Tour (2.HC) | | | | more |
| 23 | | | General classificationGeneral classification | | 3 | 5 | |
16.06 | 39 | | | S5Stage 5 - Tongeren › Beringen | 158.5 | | | |
15.06 | 24 | 23 | | S4Stage 4 - Seraing › Seraing | 151.6 | | | |
14.06 | 139 | 67 | | S3 (ITT)Stage 3 (ITT) - Grimbergen › Grimbergen | 9.2 | | | |
13.06 | 48 | 48 | | S2Stage 2 - Knokke-Heist › Zottegem | 179.9 | | | |
12.06 | 86 | 88 | | S1Stage 1 - Sint-Niklaas › Knokke-Heist | 183.4 | | | |
28.05 › 02.0628-2/5 | | | | Tour of Norway (2.HC) | | | | more |
| 8 | | | Youth classificationYouth classification | | | | |
| 30 | | | General classificationGeneral classification | | | 5 | |
02.06 | 29 | | | S6Stage 6 - Gran › Hønefoss | 175.1 | | | |
01.06 | 32 | 32 | | S5Stage 5 - Skien › Drammen | 159.7 | | | |
31.05 | 29 | 33 | | S4Stage 4 - Arendal › Sandefjord | 224.4 | | | |
30.05 | 36 | 33 | | S3Stage 3 - Lyngdal › Kristiansand | 179.7 | | | |
29.05 | 27 | 36 | | S2Stage 2 - Kvinesdal › Mandal | 174 | | | |
28.05 | 45 | 47 | | S1Stage 1 - Stavanger › Egersund | 168.2 | | | |
24.05 › 26.0524-26/5 | | | | Hammer Stavanger (2.1) | | | | more |
| 10 | | | General classificationGeneral classification | | | | |
26.05 | 9 | | | S3Stage 3 - Stavanger › Stavanger | 48.9 | | | |
25.05 | 13 | | | S2Stage 2 - Stavanger › Stavanger | 87.3 | | | |
24.05 | 9 | | | S1Stage 1 - Stavanger › Stavanger | 85.6 | | | |
11.05 | 30 | | | Scandinavian Race in Uppsala 1909-2019 (1.2) | 188.5 | | | more |
02.05 › 05.052-5/5 | | | | Tour de Yorkshire (2.HC) | | | | more |
| 37 | | | General classificationGeneral classification | | | 3 | |
05.05 | 41 | | | S4Stage 4 - Halifax › Leeds | 175 | | | |
04.05 | 47 | 37 | | S3Stage 3 - Bridlington › Scarborough | 132 | | | |
03.05 | 65 | 56 | | S2Stage 2 - Barnsley › Bedale | 132 | | | |
02.05 | 48 | 49 | | S1Stage 1 - Doncaster › Selby | 182.5 | | | |
03.04 › 06.043-6/4 | | | | Giro di Sicilia (2.1) | | | | more |
| 11 | | | Youth classificationYouth classification | | | | |
| 25 | | | General classificationGeneral classification | | | 3 | |
06.04 | 27 | | | S4Stage 4 - Giardini Naxos › Etna | 119 | | | |
05.04 | 15 | 14 | | S3Stage 3 - Caltanissetta › Ragusa | 188 | | | |
04.04 | 59 | 62 | | S2Stage 2 - Capo d'Orlando › Palermo | 236 | | | |
03.04 | 62 | 62 | | S1Stage 1 - Catania › Milazzo | 165 | | | |
27.03 › 31.0327-31/3 | | | | Settimana Internazionale Coppi e Bartali (2.1) | | | | more |
| 22 | | | Youth classificationYouth classification | | | | |
| 71 | | | General classificationGeneral classification | | | | |
31.03 | 89 | | | S5Stage 5 - Fiorano Modenese › Sassuolo | 153.4 | | | |
30.03 | 72 | 71 | | S4Stage 4 - Crevalcore › Crevalcore | 171.4 | | | |
29.03 | 111 | 73 | | S3Stage 3 - Forlì › Forlì | 166.2 | | | |
28.03 | 47 | 47 | | S2Stage 2 - Riccione › Sogliano al Rubicone | 140 | | | |
27.03 | 11 | 51 | | S1b (TTT)Stage 1b (TTT) - Gatteo a mare › Gatteo | 13.3 | | | |
27.03 | 82 | 128 | | S1aStage 1a - Gatteo › Gatteo | 97.8 | | | |
10.03 | 10 | | | GP Industria & Artigianato (1.HC) | 199.2 | 22 | 35 | more |
22.02 › 24.0222-24/2 | | | | Tour Cycliste International du Haut Var (2.1) | | | | more |
| 3 | | | Youth classificationYouth classification | | | | |
| 14 | | | Points classificationPoints classification | | | | |
| 25 | | | General classificationGeneral classification | | | 3 | |
24.02 | 35 | | | S3Stage 3 - La Londe-les-Maures › Mont Faron (Toulon) | 136 | | | |
23.02 | 32 | 26 | | S2Stage 2 - Le Cannet-des-Maures › Mons | 201.4 | | | |
22.02 | 6 | 6 | | S1Stage 1 - Vence › Mandelieu-la-Napoul | 154.5 | 3 | | |
17.02 | 60 | | | Trofeo Laigueglia (1.HC) | 203.7 | | | more |