| 15-10 | 101 | | Veneto Classic (1.Pro) | 195.0km |
| 11-10 | 102 | | Giro del Veneto (1.Pro) | 170.0km |
| 01-10 | 52 | | Lotto Famenne Ardenne Classic (1.1) | 188.0km |
| 28-09 | DNF | | Circuit Franco-Belge (1.Pro) | 190.0km |
| | | Skoda Tour Luxembourg (2.Pro) |
| 78 | | Klassement |
| 23 | | Berg |
| 24-09 | 97 | 78 | Stage 5Mersch - Luxembourg (177.0km) | 177.0km |
| 23-09 | 63 | 63 | Stage 4Pétange - Pétange (23.0km) | 23.0km |
| 22-09 | 37 | 64 | Stage 3Mertert - Vianden (168.0km) | 168.0km |
| 21-09 | 89 | 101 | Stage 2Mondorf-les-Bains - Mamer (183.0km) | 183.0km |
| 20-09 | 109 | 109 | Stage 1Luxembourg - Luxembourg (156.0km) | 156.0km |
| 03-09 | 24 | | Gylne Gutuer (1.2) | |
| 02-09 | 33 | | Lillehammer GP (1.2) | |
| | | Arctic Race of Norway (2.Pro) |
| 90 | | Klassement |
| 20-08 | 77 | 90 | Stage 4Kvalsund - Nordkapp (171.0km) | 171.0km |
| 19-08 | 90 | 92 | Stage 3Hammerfest - Havøysund (167.0km) | 167.0km |
| 18-08 | 71 | 92 | Stage 2Alta - Hammerfest (153.0km) | 153.0km |
| 17-08 | 104 | 104 | Stage 1Kautokeino - Alta (171.0km) | 171.0km |
| | | Ethias-Tour de Wallonie (2.Pro) |
| 25-07 | 49 | 67 | Stage 4Mons - Mons (32.0km) | 32.0km |
| 24-07 | 99 | 77 | Stage 3Thuin - Mont-Saint-Guibert (186.0km) | 186.0km |
| 23-07 | 77 | 70 | Stage 2Saint-Ghislain - Walcourt (179.0km) | 179.0km |
| 22-07 | 82 | 82 | Stage 1Huy - Hamoir (189.0km) | 189.0km |
| 22-06 | 13 | | National Road Championships - Norway TT (CN) | |
| | | La Route d'Occitanie - La Dépêche du Midi (2.1) |
| 18-06 | DNS | | Stage 4Saint-Gaudens - Saint-Girons (164.0km) | 164.0km |
| 17-06 | 87 | 63 | Stage 3Gimont - Nistos Cap Nestès (189.0km) | 189.0km |
| 16-06 | 73 | 5 | Stage 2Cazouls-lès-Béziers - Graulhet (182.0km) | 182.0km |
| 15-06 | 20 | 20 | Stage 1Narbonne - Gruissan (184.0km) | 184.0km |
| 13-06 | 33 | | CIC - Mont Ventoux (1.Pro) | 154.0km |
| | | Tour of Norway (2.Pro) |
| 7 | | Klassement |
| 12 | | Punten |
| 7 | | Berg |
| 29-05 | 40 | 7 | Stage 3Stavanger - Stavanger (151.0km) | 151.0km |
| 28-05 | 17 | 5 | Stage 2Valle - Stavanger (172.0km) | 172.0km |
| 27-05 | 12 | 4 | Stage 1Jondal - Hovden (206.0km) | 206.0km |
| 26-05 | 4 | 4 | PrologueBergen - Fløyen (7.0km) | 7.0km |
| 14-05 | 64 | | Boucles de l'Aulne - Châteaulin (1.1) | 181.0km |
| 13-05 | 40 | | Tour du Finistère (1.1) | 193.0km |
| 07-05 | 8 | | Ringerike GP (1.2) | |
| 06-05 | 1 | | Sundvolden GP (1.2) | |
| | | Tour of the Alps (2.Pro) |
| 73 | | Klassement |
| 27 | | Punten |
| 21-04 | 67 | 73 | Stage 5Cavalese - Brunico (144.0km) | 144.0km |
| 20-04 | 93 | 95 | Stage 4Rovereto - Predazzo (152.0km) | 152.0km |
| 19-04 | 87 | 100 | Stage 3Ritten - Brentonico San Valentino (162.0km) | 162.0km |
| 18-04 | 105 | 103 | Stage 2Reith im Alpbachtal - Ritten (165.0km) | 165.0km |
| 17-04 | 101 | 101 | Stage 1Rattenberg - Alpbach (127.0km) | 127.0km |
| 11-04 | 43 | | Paris - Camembert (1.1) | 209.0km |
| | | Région Pays de la Loire Tour (2.1) |
| 62 | | Klassement |
| 07-04 | 38 | 62 | Stage 4Sablé-sur-Sarthe - Le Mans (124.0km) | 124.0km |
| 06-04 | 84 | 81 | Stage 3Baugé-en-Anjou - Mayenne (152.0km) | 152.0km |
| 05-04 | 46 | 68 | Stage 2Clisson - Le Lion-d'Angers (122.0km) | 122.0km |
| 04-04 | 69 | 71 | Stage 1Saint-Nazaire - Saint-Gilles-Croix-de-Vie (141.0km) | 141.0km |
| 31-03 | 25 | | La Route Adélie de Vitré (1.1) | 197.0km |
| 26-03 | 84 | | La Roue Tourangelle (1.1) | 202.0km |
| 26-02 | DNF | | Faun Drome Classic (1.Pro) | |
| 25-02 | 57 | | Faun-Ardèche Classic
(1.Pro) | |
| | | Tour des Alpes Maritimes et du Var (2.1) |
| 70 | | Klassement |
| 15 | | Punten |
| 11 | | Berg |
| 19-02 | 37 | 70 | Stage 3Villefranche-sur-Mer - Vence (139.0km) | 139.0km |
| 18-02 | 79 | 88 | Stage 2Mandelieu-la-Napoule - Antibes (179.0km) | 179.0km |
| 17-02 | 108 | 108 | Stage 1Saint-Raphaël - Ramatuelle (197.0km) | 197.0km |