| 13-10 | 24 | | Paris - Tours Elite (1.HC) | 217.0km |
| 10-10 | 7 | | Paris-Bourges (1.1) | |
| 06-10 | 26 | | Tour de Vendée (1.1) | 199.0km |
| 29-09 | DNF | | UCI World Championship Yorkshire (CM) | 260.0km |
| 22-09 | 9 | | Grand Prix d'Isbergues (1.1) | |
| 21-09 | 12 | | Primus Classic (1.HC) | 197.0km |
| 15-09 | 55 | | Tour du Doubs (1.1) | |
| 08-09 | 125 | | GP de Fourmies (1.HC) | |
| 07-09 | 12 | | Brussels Cycling Classic (1.HC) | 189.0km |
| 01-09 | DNF | | Bretagne Classic - Ouest-France (1.UWT) | 248.0km |
| | | Tour Poitou-Charentes (2.1) |
| 21 | | Klassement |
| 38 | | Punten |
| 30-08 | 43 | 21 | Stage 5Aigre - Poitiers (167.0km) | 167.0km |
| 29-08 | 33 | 22 | Stage 4Leigné-les-bois - Pleumartin (23.0km) | 23.0km |
| 29-08 | 14 | 38 | Stage 3Chatellerault - Pleumartin (110.0km) | 110.0km |
| 28-08 | 84 | 49 | Stage 2Rochefort-sur-Mer - Aigre (168.0km) | 168.0km |
| 27-08 | 43 | 44 | Stage 1Niort - Rochefort-sur-Mer (188.0km) | 188.0km |
| | | Tour du Limousin (2.1) |
| 72 | | Klassement |
| 24-08 | 64 | 72 | Stage 4Confolens - Limoges (177.0km) | 177.0km |
| 23-08 | 89 | 93 | Stage 3Chamboulive - Beynat (176.0km) | 176.0km |
| 22-08 | 101 | 100 | Stage 2Rouffiac - Trélissac (182.0km) | 182.0km |
| 21-08 | 99 | 101 | Stage 1Condat-sur-Vienne - Guéret (172.0km) | 172.0km |
| 18-08 | 45 | | La Poly Normande (1.1) | 170.0km |
| 11-08 | DNF | | UEC Road European Championships (CC) | 172.0km |
| 08-08 | 26 | | UEC Road European Championships TT (CC) | 22.0km |
| | | Tour of Qinghai Lake (2.HC) |
| 46 | | Klassement |
| 22 | | Punten |
| 27-07 | 33 | 46 | Stage 13Yinchuan - Yinchuan (117.0km) | 117.0km |
| 26-07 | 52 | 46 | Stage 12Zhongwei - Zhongwei (111.0km) | 111.0km |
| 25-07 | 56 | 46 | Stage 11Minqin - Tengger (153.0km) | 153.0km |
| 24-07 | 33 | 47 | Stage 10Jingchang - Wuwei (116.0km) | 116.0km |
| 22-07 | 24 | 47 | Stage 9Menyuan - Minie (160.0km) | 160.0km |
| 21-07 | 7 | 48 | Stage 8Xihaizhen - Qingshizui (224.0km) | 224.0km |
| 20-07 | 16 | 52 | Stage 7Haiyan - Haiyan (42.0km) | 42.0km |
| 19-07 | 38 | 55 | Stage 6Chaka - Bird Island (136.0km) | 136.0km |
| 18-07 | 43 | 63 | Stage 5Gongha - Chaka (173.0km) | 173.0km |
| 17-07 | 74 | 63 | Stage 4Guide - Longyangxia (100.0km) | 100.0km |
| 16-07 | 58 | 47 | Stage 3Duoba - Guide (140.0km) | 140.0km |
| 15-07 | 21 | | Stage 2Xining - Xining (119.0km) | 119.0km |
| 14-07 | 7 | 38 | Stage 1Hehuang - Xining (40.0km) | 40.0km |
| 30-06 | 6 | | National Road Championships - Lithuania (CN) | |
| 28-06 | 2 | | National Road Championships - Lithuania TT (CN) | |
| | | La Route d'Occitanie (2.1) |
| 96 | | Klassement |
| 18 | | Punten |
| 23-06 | 82 | 96 | Stage 4Gers - Astarac Arros en Gascogne (154.0km) | 154.0km |
| 22-06 | 92 | 101 | Stage 3Arreau - Luchon (173.0km) | 173.0km |
| 21-06 | 6 | 111 | Stage 2Labruguière - Martres-Tolosane (187.0km) | 187.0km |
| 20-06 | 116 | 116 | Stage 1Gignac - Saint-Geniez-d Olt (175.0km) | 175.0km |
| 17-06 | OTL | | Mont Ventoux Denivelé Challenges (1.1) | 185.0km |
| | | Boucles de la Mayenne (2.1) |
| 80 | | Klassement |
| 09-06 | 91 | 80 | Stage 3Cosse-le-Vivien - Laval (173.0km) | 173.0km |
| 08-06 | 87 | 73 | Stage 2La Croixille - Lassay-les-Châteaux (179.0km) | 179.0km |
| 07-06 | 63 | 64 | Stage 1Saint-Berthevin - Change (183.0km) | 183.0km |
| 06-06 | 67 | 67 | PrologueLaval - Laval (4.0km) | 4.0km |
| | | 4 Jours de Dunkerque (2.HC) |
| 15-05 | DNS | | Stage 2Wallers - Saint-Quentin (181.0km) | 181.0km |
| 14-05 | 126 | 126 | Stage 1Dunkerque - Condé sur l'Escaut (180.0km) | 180.0km |
| 22-04 | 33 | | Tro-Bro Léon (1.1) | 205.0km |
| 14-04 | 9 | | Paris-Roubaix (1.UWT) | |
| | | Circuit Cycliste Sarthe - Pays de la Loire (2.1) |
| 12-04 | DNF | | Stage 4Sillé-le-Guillaume - Sillé-le-Guillaume (183.0km) | 183.0km |
| 11-04 | 83 | 79 | Stage 3Royal Abbey of Epau - Mont des Avaloirs (184.0km) | 184.0km |
| 10-04 | 42 | 50 | Stage 2Freigné - Belligné (172.0km) | 172.0km |
| 09-04 | 51 | 53 | Stage 1La Châtaigneraie - La Châtaigneraie (180.0km) | 180.0km |
| 24-03 | 20 | | Grand Prix de Denain (1.HC) | 204.0km |
| | | Paris-Nice (2.UWT) |
| 106 | | Klassement |
| 42 | | Punten |
| 41 | | Berg |
| 17-03 | 104 | 106 | Stage 8Nice - Nice (110.0km) | 110.0km |
| 16-03 | 86 | 112 | Stage 7Nice - Col de Turini (181.0km) | 181.0km |
| 15-03 | 135 | 128 | Stage 6Peynier - Brignoles (176.0km) | 176.0km |
| 14-03 | 133 | 116 | Stage 5Barbentane - Barbentane (25.0km) | 25.0km |
| 13-03 | 100 | 113 | Stage 4Vichy - Pélussin (210.0km) | 210.0km |
| 11-03 | 133 | 88 | Stage 2Les Bréviaires - Bellegarde (163.0km) | 163.0km |
| 10-03 | 25 | 26 | Stage 1Saint-Germain-en-Laye - Saint-Germain-en-Laye (138.0km) | 138.0km |
| 03-03 | 91 | | Royal Bernard Drome Classic (1.1) | |
| 02-03 | 98 | | Classic de l'Ardèche Rhône Crussol (1.1) | |
| | | Tour of Oman (2.HC) |
| 102 | | Klassement |
| 21-02 | 38 | 102 | Stage 6Al Mouj Muscat - Matrah Corniche (135.0km) | 135.0km |
| 20-02 | 111 | 106 | Stage 5Samayil - Al Jabal Al Akhdar (152.0km) | 152.0km |
| 19-02 | 77 | 101 | Stage 4Yiti - Oman Convention & Exhibition Center (125.0km) | 125.0km |
| 18-02 | 113 | 110 | Stage 3Shati Al Qurum - Qurayyat (192.0km) | 192.0km |
| 17-02 | 112 | 109 | Stage 2Royal Cavalry Oman - Al Bustan (158.0km) | 158.0km |
| 16-02 | 37 | 38 | Stage 1Al Sawadi Beach - Suhar Corniche (138.0km) | 138.0km |
| | | Etoile de Bessèges (2.1) |
| 24 | | Klassement |
| 43 | | Punten |
| 10-02 | 26 | 24 | Stage 4Alès - Alès (10.0km) | 10.0km |
| 09-02 | 36 | 14 | Stage 3Bessèges - Bessèges (158.0km) | 158.0km |
| 08-02 | 16 | 49 | Stage 2Saint-Geniés-de-Malgoires - La Clamette (154.0km) | 154.0km |
| 07-02 | 79 | 80 | Stage 1Bellegarde - Beaucaire (162.0km) | 162.0km |