| 20-10 | 9 | | Varberg Cyclocross Day 2 U19 (C2) | |
| 19-10 | 10 | | Varberg Cyclocross Day 1 U19 (C2) | |
| 14-09 | 51 | | UEC Road European Championships U19 (CC) | 129.0km |
| | | Vuelta a Cantabria (2.1) |
| 21 | | Klassement |
| 03-09 | 19 | 21 | Stage 3Puente Viesgo - Puente Viesgo (127.0km) | 127.0km |
| 02-09 | 23 | 28 | Stage 2Vioño de Piélago - Vioño de Piélago (140.0km) | 140.0km |
| 01-09 | 101 | 101 | Stage 1Santander - Cuesta de la Atalaya0 | 0 |
| | | Vuelta Junior a la Ribera del Duero (2.1) |
| 119 | | Klassement |
| 52 | | Jongeren |
| 25-08 | 123 | 119 | Stage 3Aranda de Duero - Aranda de Duero (116.0km) | 116.0km |
| 24-08 | 118 | 128 | Stage 2Langa de Duero - La Laguna Negra - Vinuesa (119.0km) | 119.0km |
| 23-08 | 137 | 137 | Stage 1Castrillo de la Vega - Haza (70.0km) | 70.0km |
| | | Sint Martinusprijs Kontich (2.1) |
| 85 | | Klassement |
| 32 | | Jongeren |
| 07-07 | 101 | 85 | Stage 4Kontich - Kontich (118.0km) | 118.0km |
| 06-07 | 95 | 87 | Stage 3bKontich - Kontich (120.0km) | 120.0km |
| 06-07 | 29 | 99 | Stage 3aKontich - Kontich (11.0km) | 11.0km |
| 05-07 | 116 | 109 | Stage 2Kontich - Kontich (129.0km) | 129.0km |
| 04-07 | | 122 | Stage 1Kontich - Kontich (19.0km) | 19.0km |
| 22-06 | 19 | | National Road Championships - Sweden U19 (CN) | 122.0km |
| 18-06 | 2 | | National Road Championships - Sweden TT U19 (CN) | 32.0km |
| | | Côte d'Or Classic Juniors (2.1) |
| 09-06 | DNF | | Stage 3Pouilly-en-Auxois - Semur-en-Auxois (100.0km) | 100.0km |
| 08-06 | 97 | 97 | Stage 1Saulieu - Précy-sous-Thil (82.0km) | 82.0km |
| 08-06 | | 59 | Stage 2Alésia - Vitteaux (18.0km) | 18.0km |
| | | LVM Saarland Trofeo (2.NCUP) |
| 41 | | Klassement |
| 23 | | Punten |
| 10 | | Jongeren |
| 02-06 | 38 | 41 | Stage 4Walsheim - Walsheim (128.0km) | 128.0km |
| 01-06 | 55 | 44 | Stage 3aBallweiler - Ballweiler (9.0km) | 9.0km |
| 01-06 | | 42 | Stage 3bWolfersheim - Oberwürzbach (94.0km) | 94.0km |
| 31-05 | 59 | 56 | Stage 2Volmunster - Sarreguemines (103.0km) | 103.0km |
| 30-05 | 74 | 74 | Stage 1Friedrichsthal - Neunkirchen (109.0km) | 109.0km |
| | | SPIE Internationale Juniorendriedaagse (2.1) |
| 70 | | Klassement |
| 28 | | Jongeren |
| 19-05 | 63 | 70 | Stage 4Velzeke - Velzeke (99.0km) | 99.0km |
| 18-05 | 45 | 128 | Stage 2Westdorpe - Westdorpe (11.0km) | 11.0km |
| 18-05 | 112 | 118 | Stage 3Sluiskil - Sluiskil (80.0km) | 80.0km |
| 17-05 | 132 | 132 | Stage 1Axel - Axel (103.0km) | 103.0km |
| | | Course de la Paix Juniors (2.NCUP) |
| 73 | | Klassement |
| 19 | | Jongeren |
| 05-05 | 95 | 73 | Stage 4Terezín - Terezín (98.0km) | 98.0km |
| 04-05 | 73 | 73 | Stage 3Teplice - Olbernhau (133.0km) | 133.0km |
| 03-05 | 104 | 90 | Stage 2bRoudnice - Steti (61.0km) | 61.0km |
| 03-05 | 112 | 90 | Stage 2aTrebivlice - Trebivlice (8.0km) | 8.0km |
| 02-05 | 85 | 85 | Stage 1Litomerice - Litomerice (100.0km) | 100.0km |
| 07-04 | 62 | | Paris-Roubaix Juniors (1.NCUP) | 111.0km |
| | | Guido Reybrouck Classic (2.1) |
| 16-03 | 19 | | Stage 1Damme - Damme (11.0km) | 11.0km |
| 25-02 | DNF | | Kuurne - Brussel - Kuurne Juniors (1.1) | |