| 13-10 | DNF | | Il Lombardia (1.UWT) | 241.0km |
| | | Tour du Limousin (2.1) |
| 15-08 | DNF | | Stage 1Saint-Just-le-Martel - Bonnat (172.0km) | 172.0km |
| | | Vuelta a Burgos (2.HC) |
| 80 | | Klassement |
| 11-08 | 70 | 80 | Stage 5Salas de los Infantes - Lagunas de Neila (120.0km) | 120.0km |
| 10-08 | 89 | 87 | Stage 4Monasterio de San Pedro Cardeña - Ciudad Romana de Clunia (165.0km) | 165.0km |
| 09-08 | 59 | | Stage 3Valle de Sedano - Espinosa de los Monteros (149.0km) | 149.0km |
| 08-08 | 16 | 98 | Stage 2Belorado - Castrojeriz (163.0km) | 163.0km |
| 07-08 | 103 | 103 | Stage 1Burgos - Burgos (151.0km) | 151.0km |
| 30-06 | 27 | | National Road Championships - Italy (CN) | 233.0km |
| | | Adriatica Ionica Race (2.1) |
| 76 | | Klassement |
| 24-06 | 38 | 76 | Stage 5Grado - Trieste (124.0km) | 124.0km |
| 23-06 | 79 | 77 | Stage 4San Vito di Cadore - Grado (229.0km) | 229.0km |
| 22-06 | 104 | 74 | Stage 3Mussolente - Passo Giau (158.0km) | 158.0km |
| 21-06 | 20 | 41 | Stage 2Lido di Jesolo - Maser (152.0km) | 152.0km |
| 20-06 | 13 | 79 | Stage 1Musile di Piave - Lido di Jesolo (23.0km) | 23.0km |
| 07-06 | 73 | | GP du canton d'Argovie (1.HC) | 185.0km |
| | | Tour de Korea (2.1) |
| 3 | | Klassement |
| 13 | | Punten |
| 10 | | Berg |
| 03-06 | 12 | 3 | Stage 5Seoul - Seoul (65.0km) | 65.0km |
| 02-06 | 25 | 3 | Stage 4Jeonseon - Chungju (137.0km) | 137.0km |
| 01-06 | 3 | 3 | Stage 3Yeongju - Jeonseon (192.0km) | 192.0km |
| 31-05 | 49 | 57 | Stage 2Cheonan - Yeongju (202.0km) | 202.0km |
| 30-05 | 93 | 92 | Stage 1Gunsan - Cheonan (184.0km) | 184.0km |
| | | Tour of the Alps (2.HC) |
| 18-04 | DNF | | Stage 3Ora - Merano (138.0km) | 138.0km |
| 17-04 | 124 | 126 | Stage 2Lavarone - Alpe di Pampeago (145.0km) | 145.0km |
| 16-04 | 130 | 130 | Stage 1Arco - Folgaria (134.0km) | 134.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 23 | | Klassement |
| 25-03 | 93 | 23 | Stage 4Fiorano Modenese - Sassuolo (12.0km) | 12.0km |
| 24-03 | 114 | 13 | Stage 3Crevalcore - Crevalcore (171.0km) | 171.0km |
| 23-03 | 27 | 23 | Stage 2Riccione - Sogliano al Rubicone (130.0km) | 130.0km |
| 22-03 | 10 | 40 | Stage 1bGatteo a Mare - Gatteo (13.0km) | 13.0km |
| 22-03 | 93 | 92 | Stage 1aGatteo - Gatteo (97.0km) | 97.0km |
| 17-03 | 159 | | Milano-Sanremo (1.UWT) | 294.0km |
| | | Tirreno-Adriatico (2.UWT) |
| 71 | | Klassement |
| 13-03 | 133 | 71 | Stage 7San Benedetto del Tronto - San Benedetto del Tronto (10.0km) | 10.0km |
| 12-03 | 85 | 68 | Stage 6Numana - Fano (153.0km) | 153.0km |
| 11-03 | 106 | 72 | Stage 5Castelraimondo - Filottrano (178.0km) | 178.0km |
| 10-03 | 46 | 47 | Stage 4Foligno - Sarnano Sassotetto (219.0km) | 219.0km |
| 09-03 | 65 | 59 | Stage 3Follonica - Trevi (234.0km) | 234.0km |
| 08-03 | 83 | 79 | Stage 2Camaiore - Follonica (167.0km) | 167.0km |
| 07-03 | 20 | 105 | Stage 1Lido di Camaiore - Lido di Camaiore (21.0km) | 21.0km |
| 04-03 | 41 | | GP Industria & Artigianato (1.HC) | 199.0km |
| | | 50ème Tour Cycliste International du Haut Var Matin (2.1) |
| 53 | | Klassement |
| 14 | | Punten |
| 18-02 | 75 | 53 | Stage 2Vidauban - Flayosc (188.0km) | 188.0km |
| 17-02 | 9 | 9 | Stage 1Le Cannet des Maures - Fayence (169.0km) | 169.0km |
| 11-02 | 3 | | Trofeo Laigueglia (1.HC) | 203.0km |
| | | Vuelta a San Juan Internacional (2.1) |
| 26 | | Klassement |
| 28-01 | 24 | 26 | Stage 7San Juan - San Juan (141.0km) | 141.0km |
| 27-01 | 21 | 29 | Stage 6San Juan - San Juan (152.0km) | 152.0km |
| 26-01 | 23 | 34 | Stage 5San Martin - Alto Colorado (169.0km) | 169.0km |
| 24-01 | 146 | 69 | Stage 4San Jose Jachal - Valle Fértil (182.0km) | 182.0km |
| 23-01 | 94 | 48 | Stage 3San Juan - San Juan (14.0km) | 14.0km |
| 22-01 | 17 | 14 | Stage 2Peri Lago Punta Negra - Peri Lago Punta Negra (149.0km) | 149.0km |
| 21-01 | 34 | 34 | Stage 1San Juan - Pocito (148.0km) | 148.0km |