| 12-10 | 95 | | Paris - Tours Espoirs (1.2U) | 176.0km |
| 26-09 | 15 | | UCI World Championship Kigali U23 (CM) | 164.0km |
| 11-09 | DNF | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | 197.0km |
| 10-09 | DNF | | Giro della Toscana - Memorial Alfredo Martini (1.1) | 189.0km |
| 31-08 | 3 | | IXINA Classic - Grote Prijs van de Stad Halle (1.2) | 177.0km |
| | | Tour du Limousin (2.1) |
| 20-08 | DNS | | Stage 2Thiviers - Grèzes (174.0km) | 174.0km |
| 19-08 | 116 | 116 | Stage 1Panazol - La Courtine (184.0km) | 184.0km |
| | | Tour Alsace (2.2) |
| 80 | | Klassement |
| 1 | | Punten |
| 57 | | Jongeren |
| 03-08 | 77 | 80 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 1 | 97 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 117 | 119 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 74 | 58 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 17 | 54 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 27-07 | 10 | | Grand Prix de la ville de Pérenchies (1.2) | 178.0km |
| 29-06 | 34 | | National Road Championships - Norway (CN) | 193.0km |
| 26-06 | 8 | | National Road Championships - Norway TT (CN) | 26.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 67 | | Klassement |
| 22-06 | 96 | 67 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 80 | 64 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 102 | 58 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 22 | 49 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 115 | 77 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 83 | 74 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 38 | 31 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 37 | 37 | Stage 1Rho - Rho (8.0km) | 8.0km |
| | | Tour of Norway (2.Pro) |
| 59 | | Klassement |
| 14 | | Jongeren |
| 01-06 | 66 | 59 | Stage 4Stavanger - Stavanger (130.0km) | 130.0km |
| 31-05 | 40 | 59 | Stage 3Jørpeland - Heia (141.0km) | 141.0km |
| 30-05 | 75 | 73 | Stage 2Egersund - Oltedal (208.0km) | 208.0km |
| 29-05 | 68 | 68 | Stage 1Sola - Sola (179.0km) | 179.0km |
| 13-05 | 101 | | Classique Dunkerque (1.Pro) | 193.0km |
| 11-05 | 5 | | Gent-Wevelgem / Kattekoers-Ieper (1.2U) | 189.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 91 | | Klassement |
| 01-05 | 95 | 91 | Stage 7Landébia - Plancoët (159.0km) | 159.0km |
| 30-04 | 84 | 85 | Stage 6Missillac - Le Pertre (178.0km) | 178.0km |
| 29-04 | 106 | 76 | Stage 5Erdeven - Guenrouet (164.0km) | 164.0km |
| 28-04 | 86 | 70 | Stage 4Plonéour-Lanvern - Landévant (204.0km) | 204.0km |
| 27-04 | 113 | 84 | Stage 3Loudéac - Plonéour-Lanvern (212.0km) | 212.0km |
| 26-04 | 87 | 85 | Stage 2La Gouesnière - Le Cambout (182.0km) | 182.0km |
| 25-04 | 80 | 80 | Stage 1Hirel - La Fresnais (144.0km) | 144.0km |
| 18-04 | 75 | | De Brabantse Pijl (1.Pro) | 175.0km |
| 13-04 | 8 | | Paris-Roubaix Espoirs (1.2U) | 167.0km |
| 05-04 | 7 | | Boucle de l'Artois (1.2) | 191.0km |
| 30-03 | 54 | | La Roue Tourangelle (1.1) | 197.0km |
| 21-03 | DNF | | Youngster Coast Challenge (1.2U) | 170.0km |
| 09-03 | 50 | | Grand Prix de la Ville de Lillers Souvenir Bruno Comini (1.2) | 197.0km |
| 08-03 | 72 | | Le Tour des 100 Communes (1.2) | 191.0km |
| 16-02 | 77 | | Figueira Champions Classic (1.Pro) | 192.0km |
| 02-02 | 156 | | Trofeo Palma (1.1) | 149.0km |
| 30-01 | 123 | | Trofeo Felanitx-Ses Salines (1.1) | 184.0km |