| 24-10 | 2 | | UCI Cycling World Championships - Track (Team Pursuit) (CM) | |
| 24-10 | 1 | | UCI Cycling World Championships - Track (Points Race) (CM) | |
| 24-10 | 5 | | UCI Cycling World Championships - Track (Madison) (CM) | |
| 19-09 | 27 | | UCI World Championship Flanders TT (CM) | 43.0km |
| | | Benelux Tour (2.UWT) |
| 05-09 | DNF | | Stage 7Namur - Geraardsbergen (178.0km) | 178.0km |
| 04-09 | 55 | 120 | Stage 6Ottignies - Houffalize (207.0km) | 207.0km |
| 03-09 | 72 | 130 | Stage 5Riemst - Bilzen (188.0km) | 188.0km |
| 02-09 | 139 | 141 | Stage 4Aalter - Ardooie (166.0km) | 166.0km |
| 01-09 | 104 | 142 | Stage 3Essen - Hoogerheide (168.0km) | 168.0km |
| 31-08 | 13 | 143 | Stage 2Lelystad - Lelystad (11.0km) | 11.0km |
| 30-08 | 149 | 149 | Stage 1Surhuisterveen - Dokkum (169.0km) | 169.0km |
| 07-08 | 3 | | Olympic Games Tokyo - Track (Madison) (JO) | |
| 05-08 | 4 | | Olympic Games Tokyo - Track (Omnium) (JO) | |
| | | Ethias Tour de Wallonie (2.Pro) |
| 57 | | Klassement |
| 24-07 | 56 | 57 | Stage 5Dinant - Quaregnon (183.0km) | 183.0km |
| 23-07 | 133 | 63 | Stage 4Neufchâteau - Fleurus (206.0km) | 206.0km |
| 22-07 | 17 | 32 | Stage 3Plombières - Erezee (179.0km) | 179.0km |
| 21-07 | 125 | 114 | Stage 2Heusden-Zolder - Heusden-Zolder (120.0km) | 120.0km |
| 20-07 | 116 | 116 | Stage 1Genappe - Héron (185.0km) | 185.0km |
| 20-06 | 62 | | National Road Championships - France (CN) | 242.0km |
| 17-06 | 1 | | National Road Championships - France TT (CN) | 45.0km |
| | | Tour de Suisse (2.UWT) |
| 13-06 | DNF | | Stage 8Andermatt - Andermatt (118.0km) | 118.0km |
| 12-06 | 105 | 79 | Stage 7Sedrun - Andermatt (23.0km) | 23.0km |
| 11-06 | 21 | 81 | Stage 6Fiesch - Sedrun (162.0km) | 162.0km |
| 10-06 | 149 | 121 | Stage 5Gstaad - Leukerbad (172.0km) | 172.0km |
| 09-06 | 2 | 113 | Stage 4Sankt Urban - Gstaad (171.0km) | 171.0km |
| 08-06 | 138 | 142 | Stage 3Lachen - Pfaffnau (185.0km) | 185.0km |
| 07-06 | 141 | 126 | Stage 2Neuhausen am Rheinfall - Lachen (173.0km) | 173.0km |
| 06-06 | 49 | 49 | Stage 1Frauenfeld - Frauenfeld (10.0km) | 10.0km |
| 16-05 | 13 | | Tro-Bro Léon (1.Pro) | 207.0km |
| | | Volta ao Algarve em Bicicleta (2.Pro) |
| 113 | | Klassement |
| 10 | | Berg |
| 09-05 | 76 | 113 | Stage 5Albufeira - Malhão (170.0km) | 170.0km |
| 08-05 | 3 | 135 | Stage 4Lagoa - Lagoa (20.0km) | 20.0km |
| 07-05 | 149 | 152 | Stage 3Faro - Tavira (203.0km) | 203.0km |
| 06-05 | 150 | 145 | Stage 2Sagres - Fóia (192.0km) | 192.0km |
| 05-05 | 132 | 132 | Stage 1Lagos - Portimão (189.0km) | 189.0km |
| 14-04 | 73 | | De Brabantse Pijl (1.Pro) | 201.0km |
| 04-04 | 70 | | La Roue Tourangelle (1.1) | 204.0km |
| | | Tirreno-Adriatico (2.UWT) |
| 59 | | Klassement |
| 17 | | Punten |
| 12 | | Berg |
| 16-03 | 5 | 59 | Stage 7San Benedetto del Tronto - San Benedetto del Tronto (11.0km) | 11.0km |
| 15-03 | 127 | 64 | Stage 6Castelraimondo - Lido di Fermo (169.0km) | 169.0km |
| 14-03 | 151 | 60 | Stage 5Castellalto - Castelfidardo (205.0km) | 205.0km |
| 13-03 | 42 | 34 | Stage 4Terni - Prati di Tivo (148.0km) | 148.0km |
| 12-03 | 70 | 43 | Stage 3Montalcino - Gualdo Tadino (189.0km) | 189.0km |
| 11-03 | 51 | 48 | Stage 2Camaiore - Chiusdino (226.0km) | 226.0km |
| 10-03 | 99 | 100 | Stage 1Lido di Camaiore - Lido di Camaiore (156.0km) | 156.0km |
| | | Etoile de Bessèges (2.1) |
| 17 | | Klassement |
| 14 | | Punten |
| 07-02 | 2 | 17 | Stage 5Alès - Alès (11.0km) | 11.0km |
| 06-02 | 21 | 24 | Stage 4Rousson - Saint-Siffret (152.0km) | 152.0km |
| 05-02 | 37 | 40 | Stage 3Bessèges - Bessèges (156.0km) | 156.0km |
| 04-02 | 44 | 46 | Stage 2Saint-Geniès - La Calmette (154.0km) | 154.0km |
| 03-02 | 57 | 57 | Stage 1Bellegarde - Bellegarde (141.0km) | 141.0km |
| 31-01 | 14 | | Grand Prix Cycliste la Marseillaise (1.1) | 171.0km |