| | | Circuit des Ardennes International (2.2) |
| 52 | | Klassement |
| 15 | | Punten |
| 10-10 | 6 | 52 | Stage 4Tournes - Charleville-Mézières (169.0km) | 169.0km |
| 09-10 | 17 | 57 | Stage 3Chooz - Hargnies (172.0km) | 172.0km |
| 08-10 | 11 | 90 | Stage 2Vouziers - Vouziers (186.0km) | 186.0km |
| 07-10 | 100 | 100 | Stage 1Sedan - Sedan (115.0km) | 115.0km |
| | | Ronde de l'Isard (2.2U) |
| 03-10 | DNS | | Stage 5Auterive - Saint-Girons (157.0km) | 157.0km |
| 02-10 | 50 | 35 | Stage 4Fonsorbes - Plateau de Beille (149.0km) | 149.0km |
| 01-10 | 12 | 17 | Stage 3Pierrefitte-Nestalas - Bagnères-de-Bigorre (134.0km) | 134.0km |
| 30-09 | 16 | 27 | Stage 2Faudoas - Lannemezan (167.0km) | 167.0km |
| 29-09 | 40 | 40 | Stage 1Toulouse - Montauban (168.0km) | 168.0km |
| 24-09 | 83 | | UCI World Championship Flanders U23 (CM) | 160.0km |
| 18-09 | 3 | | Liège - Bastogne - Liège U23 (1.2U) | 168.0km |
| 15-09 | 79 | | Grand Prix de Wallonie (1.Pro) | 208.0km |
| 11-09 | DNF | | UEC Road European Championships U23 (CC) | 133.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 1 | | Klassement |
| 3 | | Punten |
| 2 | | Berg |
| 22-08 | 4 | 1 | Stage 9La Toussuire - Col du Petit Saint-Bernard (154.0km) | 154.0km |
| 21-08 | 1 | 1 | Stage 8La Tour-en-Maurienne - Saint-Jean-d'Arves (91.0km) | 91.0km |
| 20-08 | 1 | 1 | Stage 7Saint-Vulbas - Le Grand Colombier (98.0km) | 98.0km |
| 19-08 | 2 | 4 | Stage 6Champagnole - Septmoncel (138.0km) | 138.0km |
| 18-08 | 43 | 4 | Stage 5Tomblaine - Bar-sur-Aube (151.0km) | 151.0km |
| 17-08 | 22 | 4 | Stage 4Provins - Bar-le-Duc (186.0km) | 186.0km |
| 16-08 | 9 | 4 | Stage 3Château-Thierry - Donnemarie-Dontilly (152.0km) | 152.0km |
| 15-08 | | 11 | Stage 2Laon - Laon (27.0km) | 27.0km |
| 14-08 | 21 | 31 | Stage 1Charleville-Mézières - Soissons (161.0km) | 161.0km |
| 13-08 | 41 | 41 | PrologueCharleville-Mézières - Charleville-Mézières (5.0km) | 5.0km |
| | | Sazka Tour (2.1) |
| 2 | | Klassement |
| 2 | | Punten |
| 2 | | Berg |
| 08-08 | 1 | 2 | Stage 4Šumperk - Šternberk (174.0km) | 174.0km |
| 07-08 | 1 | 2 | Stage 3Moravská Třebová - Dlouhé (143.0km) | 143.0km |
| 06-08 | 12 | 11 | Stage 2Olomouc - Pustevny (203.0km) | 203.0km |
| 05-08 | 27 | 27 | Stage 1Prostejov - Uničov (150.0km) | 150.0km |
| 24-07 | 82 | | Olympic Games (OS) | 234.0km |
| 26-06 | 2 | | Norwegian National Championships - XCO (CN) | |
| | | Baby Giro (2.2U) |
| 2 | | Klassement |
| 3 | | Punten |
| 4 | | Berg |
| 12-06 | 50 | 2 | Stage 10San Vito al Tagliamento - Castelfranco Veneto (162.0km) | 162.0km |
| 11-06 | 3 | 2 | Stage 9Cavalese - Val di Fiemme (167.0km) | 167.0km |
| 10-06 | 13 | 2 | Stage 8Aprica - Andalo (115.0km) | 115.0km |
| 09-06 | 5 | 2 | Stage 7Sondrio - Lanzada Lago Di Campo Moro (119.0km) | 119.0km |
| 08-06 | 2 | 2 | Stage 6Bonferraro di Sorga - San Pellegrino Terme (176.0km) | 176.0km |
| 07-06 | 2 | 2 | Stage 5Fanano - Sestola (142.0km) | 142.0km |
| 06-06 | 13 | 10 | Stage 4Sorbolo Mezzani - Guastalla (25.0km) | 25.0km |
| 05-06 | 43 | 18 | Stage 3Cesenatico - Cesenatico (132.0km) | 132.0km |
| 04-06 | 15 | 22 | Stage 2Riccione - Imola (Autodromo Enzo e Dino Ferrari) (138.0km) | 138.0km |
| 03-06 | 102 | 102 | Stage 1Cesenatico - Riccione (144.0km) | 144.0km |
| | | Tour of the Alps (2.Pro) |
| 21-04 | DNS | | Stage 3Imst - Naturno (162.0km) | 162.0km |
| 20-04 | 16 | 15 | Stage 2Innsbruck - Feichten im Kaunertal (121.0km) | 121.0km |
| 19-04 | 26 | 26 | Stage 1Bressanone - Innsbruck (142.0km) | 142.0km |
| 05-04 | DNS | | 82° Giro del Belvedere (1.2U) | |