| 14-09 | DNF | | Giro della Toscana (1.1) | 191.0km |
| 11-09 | 60 | | Grand Prix Cycliste de Montréal (1.UWT) | 221.0km |
| 09-09 | 115 | | Grand Prix Cycliste de Québec (1.UWT) | 201.0km |
| 04-09 | 19 | | Maryland Cycling Classic (1.Pro) | 194.0km |
| | | Tour de Pologne (2.UWT) |
| 19 | | Standings |
| 44 | | Points |
| 05-08 | 83 | 19 | Stage 7Valsir - Kraków (177.0km) | 177.0km |
| 04-08 | 12 | 19 | Stage 6Szaflary - Rusinski (15.0km) | 15.0km |
| 03-08 | 94 | 34 | Stage 5Lancut - Rzeszów (178.0km) | 178.0km |
| 02-08 | 53 | 34 | Stage 4Lesko - Sanok (179.0km) | 179.0km |
| 01-08 | 35 | 36 | Stage 3Krasnik - Przemysl (237.0km) | 237.0km |
| 31-07 | 113 | 113 | Stage 2Chelm - Zamosc (205.0km) | 205.0km |
| 30-07 | 99 | 100 | Stage 1Kielce - Lublin (217.0km) | 217.0km |
| 26-06 | DNF | | National Road Championships - Great Britain (CN) | |
| 23-06 | 14 | | National Road Championships - Great Britain TT (CN) | |
| | | La Route d'Occitanie - La Dépêche du Midi (2.1) |
| 84 | | Standings |
| 19-06 | 107 | 84 | Stage 4Les Angles - Auterive (188.0km) | 188.0km |
| 18-06 | 89 | 77 | Stage 3Sigean - Les Angles (188.0km) | 188.0km |
| 17-06 | 81 | 79 | Stage 2Belmont-sur-Rance - Roquefort-sur-Soulzon (35.0km) | 35.0km |
| 16-06 | 88 | 89 | Stage 1Séméac - L'Isle Jourdain (174.0km) | 174.0km |
| 14-06 | 16 | | Mont Ventoux Dénivelé Challenge (1.1) | 154.0km |
| | | Giro d'Italia (2.UWT) |
| 14-05 | DNS | | Stage 8Napoli - Napoli (153.0km) | 153.0km |
| 13-05 | 157 | 85 | Stage 7Diamante - Potenza (196.0km) | 196.0km |
| 12-05 | 140 | 28 | Stage 6Palmi - Scalea (192.0km) | 192.0km |
| 11-05 | 102 | 28 | Stage 5Catania - Messina (174.0km) | 174.0km |
| 10-05 | 27 | 25 | Stage 4Avola - Etna (172.0km) | 172.0km |
| 08-05 | 148 | 54 | Stage 3Kaposvár - Balatonfüred (201.0km) | 201.0km |
| 07-05 | 73 | 54 | Stage 2Budapest - Budapest (9.0km) | 9.0km |
| 06-05 | 57 | 57 | Stage 1Budapest - Visegrád (195.0km) | 195.0km |
| 24-04 | DNF | | Liège-Bastogne-Liège (1.UWT) | 254.0km |
| 20-04 | 108 | | La Flèche Wallonne (1.UWT) | 202.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 4 | | Standings |
| 14 | | Points |
| 26-03 | 20 | 4 | Stage 5Casalguidi - Cantagrillo di Serravalle (160.0km) | 160.0km |
| 25-03 | 40 | 4 | Stage 4Montecatini - Montecatini (158.0km) | 158.0km |
| 24-03 | 4 | 4 | Stage 3San Marino - San Marino (147.0km) | 147.0km |
| 23-03 | 17 | 13 | Stage 2Riccione - Longiano (165.0km) | 165.0km |
| 22-03 | 17 | 17 | Stage 1Riccione - Riccione (164.0km) | 164.0km |
| | | Paris-Nice (2.UWT) |
| 13-03 | DNF | | Stage 8Nice - Nice (115.0km) | 115.0km |
| 12-03 | 48 | 81 | Stage 7Nice - Col de Turini (155.0km) | 155.0km |
| 11-03 | 109 | 96 | Stage 6Courthézon - Aubagne (213.0km) | 213.0km |
| 10-03 | 76 | 86 | Stage 5Saint-Just-Saint-Rambert - Saint-Sauveur-de-Montagut (188.0km) | 188.0km |
| 09-03 | 30 | 109 | Stage 4Domérat - Montluçon (13.0km) | 13.0km |
| 08-03 | 100 | 114 | Stage 3Vierzon - Dun-le-Palestel (190.0km) | 190.0km |
| 07-03 | 124 | 118 | Stage 2Auffargis - Orléans (159.0km) | 159.0km |
| 06-03 | 92 | 92 | Stage 1Mantes-la-Ville - Mantes-la-Ville (159.0km) | 159.0km |
| | | Tour des Alpes Maritimes et du Var (2.1) |
| 20-02 | DNF | | Stage 3Villefranche-sur-Mer - Blausasc (113.0km) | 113.0km |
| 19-02 | 96 | 96 | Stage 2Puget-Théniers - La Turbie (149.0km) | 149.0km |
| 18-02 | 88 | 90 | Stage 1Saint-Raphaël - La Seyne-sur-Mer (176.0km) | 176.0km |