| 03-10 | 4 | | UEC Road European Championships U19 (CC) | 103.0km |
| | | Grand Prix Rüebliland (2.1) |
| 2 | | Klassement |
| 1 | | Punten |
| 3 | | Berg |
| 07-09 | 1 | 2 | Stage 3Altishofen - Altishofen (110.0km) | 110.0km |
| 06-09 | 1 | 2 | Stage 2Kaisten - Kaisten (88.0km) | 88.0km |
| 05-09 | 2 | 2 | Stage 1Sulz - Sulz (102.0km) | 102.0km |
| 24-08 | 11 | | UCI Junior Track World Championships (Madison) (CM) | |
| 23-08 | 25 | | UCI Junior Track World Championships (Omnium) (CM) | |
| 21-08 | 5 | | UCI Junior Track World Championships (Team Pursuit) (CM) | |
| | | Aubel-Thimister-Stavelot (2.1) |
| 09-08 | 1 | 4 | Stage 2aThimister - Thimister (9.0km) | 9.0km |
| 08-08 | 9 | 11 | Stage 1Aubel - Aubel (98.0km) | 98.0km |
| | | Ain Bugey Valromey Tour (2.1) |
| 1 | | Klassement |
| 1 | | Punten |
| 14-07 | 2 | 1 | Stage 5Artemare - Yenne (98.0km) | 98.0km |
| 13-07 | 13 | 1 | Stage 4Ceyzérieu - Belley (107.0km) | 107.0km |
| 12-07 | 2 | 1 | Stage 3Hauteville - Col de la Biche (99.0km) | 99.0km |
| 11-07 | 6 | 2 | Stage 2Morestel - Serrières-de-Briord (96.0km) | 96.0km |
| 10-07 | 1 | 1 | Stage 1Torcieu - Morestel (96.0km) | 96.0km |
| 06-07 | 1 | | Grand Prix de Luxembourg (1.1) | 106.0km |
| 05-07 | 1 | | GP Général Patton (1.1) | 93.0km |
| 29-06 | 1 | | National Road Championships - Denmark U19 (CN) | |
| | | LVM Saarland Trofeo (2.NCUP) |
| 2 | | Klassement |
| 2 | | Punten |
| 4 | | Berg |
| 22-06 | 10 | 2 | Stage 4Peppenkum - Peppenkum (122.0km) | 122.0km |
| 21-06 | 2 | 2 | Stage 3bBallweiler - Ballweiler (106.0km) | 106.0km |
| 21-06 | 7 | 2 | Stage 3aAltheim - Altheim (12.0km) | 12.0km |
| 20-06 | 6 | 1 | Stage 2Sarreguemines - Rohrbach-lès-Bitche (119.0km) | 119.0km |
| 19-06 | 1 | 1 | Stage 1Elversberg - Elversberg (127.0km) | 127.0km |
| 15-06 | 4 | | Trofeo GD Dorigo - M. O. Sogno Veneto (1.1) | 134.0km |
| 07-06 | 6 | | La Classique des Alpes Juniors (1.1) | |
| 25-05 | 12 | | Ronde van Vlaanderen U19 (1.1) | 124.0km |
| 17-05 | 9 | | National Road Championships - Denmark TT U19 (CN) | |
| | | Course de la Paix Juniors (2.NCUP) |
| 5 | | Klassement |
| 6 | | Punten |
| 27 | | Berg |
| 11-05 | 58 | 5 | Stage 4Terezín - Terezín (102.0km) | 102.0km |
| 10-05 | 51 | 3 | Stage 3Teplice - Olbernhau (112.0km) | 112.0km |
| 09-05 | 32 | 26 | Stage 2aTrebivlice - Trebivlice (8.0km) | 8.0km |
| 09-05 | 3 | 24 | Stage 2bRoudnice - Terezín (58.0km) | 58.0km |
| 08-05 | 8 | 8 | Stage 1Litomerice - Úštěk (109.0km) | 109.0km |
| | | Grand Prix West Bohemia (2.1) |
| 7 | | Klassement |
| 2 | | Punten |
| 4 | | Berg |
| 04-05 | 2 | 7 | Stage 2Kysice - Kysice (107.0km) | 107.0km |
| 03-05 | 11 | 11 | Stage 1Kysice - Kysice (120.0km) | 120.0km |
| 27-04 | 1 | | Giro di Primavera (1.1) | 129.0km |
| 26-04 | 4 | | Trofeo Emozione (1.1) | 137.0km |
| 21-04 | 7 | | Gran Premio del Perdono (1.1) | 128.0km |
| 13-04 | 15 | | Paris-Roubaix Juniors (1.NCUP) | 110.0km |
| 28-03 | 6 | | E3 Saxo Classic (1.NCUP) | 138.0km |
| | | Guido Reybrouck Classic (2.1) |
| 29 | | Klassement |
| 23-03 | 10 | 29 | Stage 2Damme - Damme (121.0km) | 121.0km |
| 22-03 | 34 | 34 | Stage 1Damme - Damme (11.0km) | 11.0km |