26.09 | 29 | | | World Championships MJ - Road Race (WC) Spain | 127.2 | 12 | | more |
14.09 | 47 | | | European Continental Championships MJ - Road Race (CC) Spain | 129.7 | | | more |
29.08 › 01.0929-1/8 | | | | Volta Portugal Juniores (NAT) | | | | more |
| 3 | | | General classificationGeneral classification | | 80 | | |
01.09 | 9 | | | S4Stage 4 - Fundão › Covilhã | 107.6 | 12 | | |
31.08 | 3 | | | S3b (ITT)Stage 3b (ITT) - Penamacor › Penamacor | 19 | 20 | | |
31.08 | 24 | | | S3aStage 3a - Sabugal › Penamacor | 78 | 2 | | |
30.08 | 4 | | | S2Stage 2 - Trancoso › Mêda | 107.2 | 18 | | |
29.08 | 4 | | | S1Stage 1 - Celorico da Beira › Almeida | 96.3 | 18 | | |
23.08 › 25.0823-25/8 | | | | Vuelta Junior a la Ribera del Duero (2.1) Café Baqué | | | | more |
| 1 | | | Youth classificationYouth classification | | | | |
| 6 | | | Mountains classificationMountains classification | | | | |
| 3 | | | General classificationGeneral classification | | 120 | | |
25.08 | 45 | | | S3Stage 3 - Aranda de Duero › Aranda de Duero | 106.7 | | | |
24.08 | 4 | 2 | | S2Stage 2 - Langa de Duero › Laguna Negra | 119.7 | 45 | | |
23.08 | 2 | 2 | | S1Stage 1 - Castrillo de la Vega › Haza | 67.7 | 58 | | |
12.08 | 2 | | | Trofeo Junior Moixent (NAT) | 87.1 | 22 | | more |
07.08 | 2 | | | GP Ayuntamiento Benagéber - Alto Turia – Benagéber (NAT) | 100 | 67 | | more |
04.08 | 1 | | | Trofeo Ayuntamiento de Peñafiel Ruta Del Vino Ribera De Duero (NAT) | 128.57 | 75 | | more |
11.07 › 14.0711-14/7 | | | | Bizkaiko Itzulia (NAT) | | | | more |
| 5 | | | General classificationGeneral classification | | 96 | | |
14.07 | 4 | | | S4Stage 4 - Balmaseda › Balmaseda | 98.3 | 30 | | |
13.07 | 3 | | | S3bStage 3b - Gordexola › San Cosme | 2.8 | 32 | | |
13.07 | 31 | | | S3aStage 3a - Sopela › Sopela | 68.5 | | | |
12.07 | 11 | | | S2Stage 2 - Markina › Markina | 95.8 | 16 | | |
11.07 | 49 | | | S1Stage 1 - Balmaseda › Gueñes | 95.4 | | | |
07.07 | 12 | | | National Championships Spain MJ - Road Race (NC) | 135.9 | 27 | | more |
20.06 › 23.0620-23/6 | | | | Vuelta al Besaya (NAT) | | | | more |
20.06 | 31 | | | S1Stage 1 - Los Corrales de Buelna › San Felices de Buelna | 116 | | | |
15.06 | 56 | | | Clásica Araba Vitoria-Gasteiz (NAT) | 138.5 | | | more |
02.06 | 1 | | | Cursa Ciclista del Llobregat "Navàs-Sant Boi" (NAT) | 111 | 50 | | more |
23.05 › 26.0523-26/5 | | | | Tour du Pays de Vaud (2.Ncup) Spain | | | | more |
| 2 | | | Youth classificationYouth classification | | | | |
| 12 | | | General classificationGeneral classification | | 144 | | |
26.05 | 24 | | | S4Stage 4 - Pomy › Pomy | 97.3 | 8 | | |
25.05 | 8 | 12 | | S3Stage 3 - Ollon › Villars-sur-Ollon | 87.8 | 52 | | |
24.05 | 18 | 32 | | S2Stage 2 - Apples › Apples | 121 | 18 | | |
23.05 | 57 | 57 | | S1 (ITT)Stage 1 (ITT) - Gollion › Gollion | 7.2 | | | |
11.05 › 12.0511-12/5 | | | | G.P. F.W.R. BARON - Trofeo "Comune di Pieve del Grappa" (2.Ncup) Spain | | | | more |
12.05 | DNF | | | S2Stage 2 - Possagno › Possagno | 123.5 | | | |
11.05 | 1 | 56 | | S1 (TTT)Stage 1 (TTT) - Pieve del Grappa › Pieve del Grappa | 19.1 | 65 | | |
18.04 › 21.0418-21/4 | | | | Eroica Juniores - Nations' Cup (2.Ncup) Spain | | | | more |
| 17 | | | Youth classificationYouth classification | | | | |
| 59 | | | General classificationGeneral classification | | | | |
21.04 | 15 | | | S4Stage 4 - Siena › Chiusdino | 102.7 | 24 | | |
20.04 | NR | 75 | | S3Stage 3 - Siena › Montevarchi | 102.5 56.1 | | | |
19.04 | 15 | 75 | | S2Stage 2 - Cinigiano › Siena | 110.6 | 24 | | |
18.04 | 81 | 106 | | S1bStage 1b - Castiglione della Pescaia › Castiglione della Pescaia | 68.3 | | | |
18.04 | 6 | 164 | | S1a (TTT)Stage 1a (TTT) - Punta Ala › Castiglione della Pescaia | 22.5 | 60 | | |
13.04 | 40 | | | Trofeu Junior Mancomunitat l'Horta Sud Picassent (NAT) | 87.3 | | | more |
07.04 | 66 | | | Paris-Roubaix Juniors (1.Ncup) Spain | 111 | | | more |
30.03 | 14 | | | Klasika Primavera (NAT) | | 21 | | more |
24.03 | 13 | | | Trofeo Entrada de Toros y Caballos (NAT) | 94.6 | 24 | | more |
23.03 | 30 | | | Trofeo Castillo de Onda (NAT) | 80 | 1 | | more |
16.03 › 17.0316-17/3 | | | | Guido Reybrouck Classic (2.1) Spain | | | | more |
| 10 | | | Youth classificationYouth classification | | | | |
| 41 | | | General classificationGeneral classification | | | | |
17.03 | 27 | | | S2Stage 2 - Damme › Damme | 121.9 | 5 | | |
16.03 | 85 | 85 | | S1 (ITT)Stage 1 (ITT) - Damme › Damme | 11.4 | | | |
09.02 › 11.029-11/2 | | | | Volta a la Plana Baixa (NAT) | | | | more |
| 2 | | | General classificationGeneral classification | | 81 | | |
11.02 | 4 | | | S3Stage 3 | | 30 | | |
10.02 | 2 | | | S2Stage 2 | | 35 | | |
09.02 | 16 | | | S1Stage 1 | | 8 | | |