| 12-10 | 16 | | UCI Gravel World Championship (CM) | 181.0km |
| 07-10 | 51 | | Binche - Chimay - Binche / Mémorial Frank Vandenbroucke (1.1) | 203.0km |
| | | Škoda Tour de Luxembourg (2.Pro) |
| 44 | | Klassement |
| 26 | | Punten |
| 21-09 | 56 | 44 | Stage 5Mersch - Luxembourg (176.0km) | 176.0km |
| 20-09 | 7 | 49 | Stage 4Niederanven - Niederanven (26.0km) | 26.0km |
| 19-09 | 56 | 59 | Stage 3Mertert - Vianden (170.0km) | 170.0km |
| 18-09 | 43 | 68 | Stage 2Remich - Mamer (168.0km) | 168.0km |
| 17-09 | 69 | 70 | Stage 1Luxembourg - Luxembourg (152.0km) | 152.0km |
| 14-09 | DNF | | Grand Prix Cycliste de Montréal (1.UWT) | 209.0km |
| 12-09 | 88 | | Grand Prix Cycliste de Québec (1.UWT) | 216.0km |
| | | Lidl Deutschland Tour (2.Pro) |
| 13 | | Klassement |
| 24-08 | 21 | 13 | Stage 4Halle - Magdeburg (163.0km) | 163.0km |
| 23-08 | 27 | 12 | Stage 3Arnsberg - Kassel (175.0km) | 175.0km |
| 22-08 | 23 | 17 | Stage 2Herford - Arnsberg (190.0km) | 190.0km |
| 21-08 | 37 | 18 | Stage 1Essen - Herford (202.0km) | 202.0km |
| 20-08 | 16 | 16 | PrologueEssen - Essen (3.0km) | 3.0km |
| 17-08 | 43 | | ADAC Cyclassics (1.UWT) | 206.0km |
| 01-08 | 2 | | Schmitter Nacht von Hürth (CRTP) | 64.0km |
| | | Tour de France (2.UWT) |
| 75 | | Klassement |
| 27-07 | 94 | 75 | Stage 21Mantes-la-Ville - Paris (132.0km) | 132.0km |
| 26-07 | 62 | 75 | Stage 20Nantua - Pontarlier (184.0km) | 184.0km |
| 25-07 | 50 | 80 | Stage 19Albertville - La Plagne (93.0km) | 93.0km |
| 24-07 | 58 | 81 | Stage 18Vif - Courchevel Col de la Loze (171.0km) | 171.0km |
| 23-07 | 56 | 86 | Stage 17Bollène - Valence (160.0km) | 160.0km |
| 22-07 | 102 | 87 | Stage 16Montpellier - Mont Ventoux (171.0km) | 171.0km |
| 20-07 | 31 | 82 | Stage 15Muret - Carcassonne (169.0km) | 169.0km |
| 19-07 | 46 | 89 | Stage 14Pau - Luchon-Superbagnères (182.0km) | 182.0km |
| 18-07 | 83 | 105 | Stage 13Loudenvielle-Le Louron - Peyragudes (10.0km) | 10.0km |
| 17-07 | 82 | 105 | Stage 12Auch - Hautacam (180.0km) | 180.0km |
| 16-07 | 53 | 109 | Stage 11Toulouse - Toulouse (156.0km) | 156.0km |
| 14-07 | 93 | 117 | Stage 10Ennezat - Le Mont-Dore Puy de Sancy (165.0km) | 165.0km |
| 13-07 | 122 | 117 | Stage 9Chinon - Châteauroux (174.0km) | 174.0km |
| 12-07 | 66 | 117 | Stage 8Saint-Méen-le-Grand - Laval (171.0km) | 171.0km |
| 11-07 | 125 | 124 | Stage 7Saint-Malo - Mûr-de-Bretagne (197.0km) | 197.0km |
| 10-07 | 103 | 116 | Stage 6Bayeux - Vire-Normandie (201.0km) | 201.0km |
| 09-07 | 16 | 107 | Stage 5Caen - Caen (33.0km) | 33.0km |
| 08-07 | 91 | 124 | Stage 4Amiens - Rouen (174.0km) | 174.0km |
| 07-07 | 59 | 154 | Stage 3Valenciennes - Dunkerque (178.0km) | 178.0km |
| 06-07 | 125 | 155 | Stage 2Lauwin-Planque - Boulogne-sur-Mer (209.0km) | 209.0km |
| 05-07 | 125 | 127 | Stage 1Lille - Lille (184.0km) | 184.0km |
| 29-06 | 7 | | National Road Championships - Germany (CN) | 217.0km |
| 27-06 | 4 | | National Road Championships - Germany TT (CN) | 22.0km |
| | | Critérium du Dauphiné (2.UWT) |
| 55 | | Klassement |
| 38 | | Punten |
| 15-06 | 40 | 55 | Stage 8Val d'Arc - Plateau du Mont-Cenis (133.0km) | 133.0km |
| 14-06 | 64 | 68 | Stage 7Grand-Algueblanche - Valmeinier (131.0km) | 131.0km |
| 13-06 | 70 | 76 | Stage 6Valserhône - Combloux (126.0km) | 126.0km |
| 12-06 | 49 | 90 | Stage 5Saint-Priest - Mâcon (183.0km) | 183.0km |
| 11-06 | 69 | 104 | Stage 4Charmes-sur-Rhône - Saint-Peray (17.0km) | 17.0km |
| 10-06 | 123 | 106 | Stage 3Brioude - Charantonnay (207.0km) | 207.0km |
| 09-06 | 59 | 8 | Stage 2Prémilhat - Issoire (204.0km) | 204.0km |
| 08-06 | 64 | 4 | Stage 1Domerat - Montlucon (195.0km) | 195.0km |
| 18-05 | 23 | | Rund um Köln (1.1) | 181.0km |
| 01-05 | 51 | | Eschborn-Frankfurt (1.UWT) | 198.0km |
| 13-04 | DNF | | Paris-Roubaix (1.UWT) | 259.0km |
| 06-04 | 66 | | Ronde van Vlaanderen (1.UWT) | 268.0km |
| 02-04 | DNF | | Dwars door Vlaanderen (1.UWT) | 184.0km |
| 30-03 | 34 | | Gent-Wevelgem in Flanders Fields (1.UWT) | 250.0km |
| 28-03 | 18 | | E3 Saxo Classic (1.UWT) | 208.0km |
| 22-03 | 134 | | Milano-Sanremo (1.UWT) | 289.0km |
| | | Paris-Nice (2.UWT) |
| 40 | | Klassement |
| 16-03 | 44 | 40 | Stage 8Nice - Nice (119.0km) | 119.0km |
| 15-03 | 46 | 45 | Stage 7Nice - Auron (109.0km) | 109.0km |
| 14-03 | 101 | 51 | Stage 6Saint-Julien-en-Saint-Alban - Berre l'Etang (209.0km) | 209.0km |
| 13-03 | 66 | 46 | Stage 5Saint-Just-en-Chevalet - La Côte-Saint-André (203.0km) | 203.0km |
| 12-03 | 41 | 41 | Stage 4Vichy - La Loge des Gardes (163.0km) | 163.0km |
| 11-03 | 8 | 69 | Stage 3Circuit Nevers Magny-Cours - Nevers (28.0km) | 28.0km |
| 10-03 | 101 | 104 | Stage 2Montesson - Bellegarde (183.0km) | 183.0km |
| 09-03 | 97 | 98 | Stage 1Le Perray-en-Yvelines - Le Perray-en-Yvelines (156.0km) | 156.0km |
| 02-03 | 43 | | Kuurne - Brussel - Kuurne (1.Pro) | 196.0km |
| 01-03 | 50 | | Omloop Het Nieuwsblad Elite (1.UWT) | 197.0km |
| | | Volta ao Algarve em Bicicleta (2.Pro) |
| 89 | | Klassement |
| 23-02 | 60 | 89 | Stage 5Salir - Malhão (19.0km) | 19.0km |
| 22-02 | 46 | 98 | Stage 4Albufeira - Faro (175.0km) | 175.0km |
| 21-02 | 140 | 114 | Stage 3Vila Real de Santo António - Tavira (183.0km) | 183.0km |
| 20-02 | 102 | 102 | Stage 2Lagoa - Alto da Fóia (177.0km) | 177.0km |
| 19-02 | DF | | Stage 1Portimão - Lagos (190.0km) | 190.0km |
| 02-02 | DNS | | Trofeo Palma (1.1) | 149.0km |
| 31-01 | 21 | | Trofeo Serra Tramuntana (1.1) | 151.0km |
| 30-01 | 139 | | Trofeo Felanitx-Ses Salines (1.1) | 184.0km |