| 06-10 | 1 | | Paris - Tours Elite (1.Pro) | 213.0km |
| 03-10 | 42 | | Sparkassen Münsterland Giro (1.Pro) | 205.0km |
| 02-10 | 3 | | Betcity Elfstedenrace (1.1) | 199.0km |
| | | Skoda Tour de Luxembourg (2.Pro) |
| 22-09 | DNF | | Stage 5Mersch - Luxembourg (176.0km) | 176.0km |
| 21-09 | 67 | 70 | Stage 4Differdange - Differdange (15.0km) | 15.0km |
| 20-09 | 96 | 69 | Stage 3Rosport - Diekirch (201.0km) | 201.0km |
| 19-09 | 4 | 2 | Stage 2Junglinster - Schifflange (155.0km) | 155.0km |
| 18-09 | 2 | 2 | Stage 1Luxembourg - Luxembourg (156.0km) | 156.0km |
| 15-09 | 9 | | UEC Road European Championships (CC) | 222.0km |
| 08-09 | 48 | | BEMER Cyclassics (1.UWT) | 198.0km |
| | | Renewi Tour (2.UWT) |
| 4 | | Klassement |
| 3 | | Punten |
| 01-09 | 9 | 4 | Stage 5Menen - Geraardsbergen (202.0km) | 202.0km |
| 31-08 | 2 | 5 | Stage 4Oostburg - Aalter (178.0km) | 178.0km |
| 30-08 | 19 | 6 | Stage 3Blankenberge - Ardooie (185.0km) | 185.0km |
| 29-08 | 7 | 6 | Stage 2Tessenderlo - Tessenderlo (15.0km) | 15.0km |
| 28-08 | 16 | 18 | Stage 1Riemst - Bilzen (163.0km) | 163.0km |
| 25-08 | DNF | | Bretagne Classic - Ouest-France (1.UWT) | 259.0km |
| 03-08 | 3 | | Olympic Games Paris (JO) | 272.0km |
| 22-07 | 3 | | Ronde d'Aix (CRTP) | |
| | | Tour de France (2.UWT) |
| 84 | | Klassement |
| 121 | | Punten |
| 21-07 | 89 | 84 | Stage 21Monaco - Nice (33.0km) | 33.0km |
| 20-07 | 77 | 85 | Stage 20Nice - Col de la Couillole (132.0km) | 132.0km |
| 19-07 | 80 | 87 | Stage 19Embrun - Isola 2000 (144.0km) | 144.0km |
| 18-07 | 39 | 87 | Stage 18Gap - Barcelonnette (179.0km) | 179.0km |
| 17-07 | 53 | 81 | Stage 17Saint-Paul-Trois-Châteaux - Superdévoluy (177.0km) | 177.0km |
| 16-07 | 32 | 89 | Stage 16Gruissan - Nîmes (188.0km) | 188.0km |
| 14-07 | 99 | 92 | Stage 15Loudenvielle-Le Louron - Plateau de Beille (197.0km) | 197.0km |
| 13-07 | 120 | 90 | Stage 14Pau - Saint-Lary-Soulan (Pla d'Adet) (151.0km) | 151.0km |
| 12-07 | 16 | 79 | Stage 13Agen - Pau (165.0km) | 165.0km |
| 11-07 | 59 | 90 | Stage 12Aurillac - Villeneuve-sur-Lot (203.0km) | 203.0km |
| 10-07 | 113 | 97 | Stage 11Évaux-les-Bains - Le Lioran (211.0km) | 211.0km |
| 09-07 | 51 | 96 | Stage 10Orléans - Saint-Amand-Montrond (187.0km) | 187.0km |
| 07-07 | 58 | 98 | Stage 9Troyes - Troyes (199.0km) | 199.0km |
| 06-07 | 59 | 111 | Stage 8Semur-en-Auxois - Colombey-les-Deux-Églises (183.0km) | 183.0km |
| 05-07 | 114 | 118 | Stage 7Nuits-Saint-Georges - Gevrey-Chambertin (25.0km) | 25.0km |
| 04-07 | 40 | 115 | Stage 6Mâcon - Dijon (163.0km) | 163.0km |
| 03-07 | 38 | 116 | Stage 5Saint-Jean-de-Maurienne - Saint-Vulbas (177.0km) | 177.0km |
| 02-07 | 105 | 116 | Stage 4Pinerolo - Valloire (139.0km) | 139.0km |
| 01-07 | 160 | 113 | Stage 3Piacenza - Torino (230.0km) | 230.0km |
| 30-06 | 99 | 108 | Stage 2Cesenatico - Bologna (199.0km) | 199.0km |
| 29-06 | 119 | 119 | Stage 1Florence - Rimini (206.0km) | 206.0km |
| 23-06 | 18 | | National Road Championships - France (CN) | 240.0km |
| | | Giro d'Italia (2.UWT) |
| 11-05 | DNS | | Stage 8Spoleto - Prati di Tivo (153.0km) | 153.0km |
| 10-05 | 109 | 142 | Stage 7Foligno - Perugia (38.0km) | 38.0km |
| 09-05 | 133 | 145 | Stage 6Viareggio - Rapolano Terme (180.0km) | 180.0km |
| 08-05 | 164 | 150 | Stage 5Genua - Lucca (178.0km) | 178.0km |
| 07-05 | 29 | 106 | Stage 4Acqui Terme - Andora (190.0km) | 190.0km |
| 06-05 | 74 | 108 | Stage 3Novara - Fossano (166.0km) | 166.0km |
| 05-05 | 106 | 113 | Stage 2San Francesco al Campo - Santuario di Oropa (161.0km) | 161.0km |
| 04-05 | 125 | 125 | Stage 1Venaria Reale - Torino (143.0km) | 143.0km |
| 07-04 | 25 | | Paris-Roubaix (1.UWT) | 260.0km |
| 16-03 | DNF | | Milano-Sanremo (1.UWT) | 288.0km |
| 02-03 | 10 | | Strade Bianche (1.UWT) | 215.0km |
| 25-02 | 4 | | Kuurne-Brussel-Kuurne (1.Pro) | 196.0km |
| 24-02 | 5 | | Omloop Het Nieuwsblad Elite (1.UWT) | 202.0km |