| | | Tour of Hainan (2.HC) |
| 18-10 | 37 | 12 | Stage 8Danzhou - Dongfang (194.0km) | 194.0km |
| 17-10 | 37 | 12 | Stage 7Chengmai - Danzhou (172.0km) | 172.0km |
| 15-10 | 26 | 13 | Stage 5Wenchang - Haikou (156.0km) | 156.0km |
| 14-10 | 74 | 21 | Stage 4Xinglong - Wenchang (162.0km) | 162.0km |
| 13-10 | 63 | 17 | Stage 3Wuzhishan - Xinglong (146.0km) | 146.0km |
| 12-10 | 22 | 14 | Stage 2Sanya - Wuzhishan (167.0km) | 167.0km |
| 11-10 | 41 | 42 | Stage 1Sanya - Sanya (85.0km) | 85.0km |
| 11-10 | 57 | 12 | Stage 9 | |
| 12-09 | 64 | | Grand Prix Cycliste de Montréal (UPT) | 193.0km |
| 10-09 | 63 | | Grand Prix Cycliste de Québec (UPT) | 189.0km |
| | | Eneco Tour (UPT) |
| 23-08 | DNF | | Stage 6Bilzen - Heers (205.0km) | 205.0km |
| 22-08 | 23 | | Stage 5Roermond - Sittard-Geleen (208.0km) | 208.0km |
| 21-08 | 54 | | Stage 4Sint-Lievens-Houtem - Roermond (212.0km) | 212.0km |
| 20-08 | 34 | | Stage 3Ronse - Ronse (187.0km) | 187.0km |
| 19-08 | 153 | | Stage 2Rucphen - Ardooie (210.0km) | 210.0km |
| 18-08 | 98 | | Stage 1Steenwijk - Rhenen (177.0km) | 177.0km |
| 17-08 | 134 | | PrologueSteenwijk - Steenwijk (5.0km) | 5.0km |
| 15-08 | 131 | | Vattenfall Cyclassics (UPT) | 216.0km |
| | | Tour de Pologne (UPT) |
| 59 | | Klassement |
| 07-08 | 101 | 59 | Stage 7Nowy Targ - Kraków (183.0km) | 183.0km |
| 06-08 | 36 | | Stage 6Oswiecim - Bukowina Tatrzanska (228.0km) | 228.0km |
| 05-08 | 58 | | Stage 5Jastrzebie Zdroj - Ustron (149.0km) | 149.0km |
| 04-08 | 129 | | Stage 4Tychy - Cieszyn (177.0km) | 177.0km |
| 03-08 | 97 | | Stage 3Sosnowiec - Katowice (122.0km) | 122.0km |
| 02-08 | 107 | | Stage 2Rawa Mazowiecka - Dabrowa Gornicza (240.0km) | 240.0km |
| 01-08 | 68 | | Stage 1Sochaczew - Warszawa (175.0km) | 175.0km |
| 27-06 | 1 | | National Road Championships - Kazakhstan (CN) | |
| | | Tour de Suisse (UPT) |
| 83 | | Klassement |
| 20-06 | 82 | 83 | Stage 9Liestal - Liestal (26.0km) | 26.0km |
| 19-06 | 61 | | Stage 8Wetzikon - Liestal (172.0km) | 172.0km |
| 18-06 | 104 | | Stage 7Savognin - Wetzikon (204.0km) | 204.0km |
| 17-06 | 58 | | Stage 6Meiringen - La Punt (213.0km) | 213.0km |
| 16-06 | 90 | | Stage 5Wettingen - Frutigen (172.0km) | 172.0km |
| 15-06 | 148 | | Stage 4Schwarzenburg - Wettingen (192.0km) | 192.0km |
| 14-06 | 107 | | Stage 3Sierre - Schwarzenburg (196.0km) | 196.0km |
| 13-06 | 115 | | Stage 2Ascona - Sierre (167.0km) | 167.0km |
| 12-06 | 140 | | Stage 1Lugano - Lugano (7.0km) | 7.0km |
| | | Tour de Romandie (UPT) |
| 02-05 | DNF | | Stage 5Sion - Sion (121.0km) | 121.0km |
| 01-05 | 59 | | Stage 4Vevey - Châtel (157.0km) | 157.0km |
| 30-04 | 95 | | Stage 3Moudon - Moudon (23.0km) | 23.0km |
| 29-04 | 123 | | Stage 2Freiburg - Freiburg (171.0km) | 171.0km |
| 28-04 | 114 | | Stage 1Porrentruy - Fleurier (175.0km) | 175.0km |
| 27-04 | 135 | | ProloguePorrentruy - Porrentruy (4.0km) | 4.0km |
| | | Vuelta Ciclista al País Vasco (UPT) |
| 89 | | Klassement |
| 10-04 | 88 | 89 | Stage 6Orio - Orio (22.0km) | 22.0km |
| 09-04 | 61 | | Stage 5Eibar - Orio (170.0km) | 170.0km |
| 08-04 | 87 | | Stage 4Murguia Zuia - Eibar (160.0km) | 160.0km |
| 07-04 | 100 | | Stage 3Viana - Amurrio (187.0km) | 187.0km |
| 06-04 | 94 | | Stage 2Zierbena - Viana (217.0km) | 217.0km |
| 05-04 | 107 | | Stage 1Zierbena - Zierbena (152.0km) | 152.0km |
| | | Critérium International (2.HC) |
| 101 | | Klassement |
| 28-03 | 93 | 101 | Stage 3Porto-Vecchio - Porto-Vecchio (7.0km) | 7.0km |
| 28-03 | 97 | | Stage 2Porto-Vecchio - Porto-Vecchio (75.0km) | 75.0km |
| 27-03 | 90 | | Stage 1Porto-Vecchio - Col de l'Ospedale (175.0km) | 175.0km |
| | | Paris-Nice (HIS) |
| 14-03 | DNF | | Stage 7Nice - Nice (119.0km) | 119.0km |
| 13-03 | 96 | | Stage 6Peynier - Tourrettes-sur-Loup (220.0km) | 220.0km |
| 12-03 | 125 | | Stage 5Pernes-les-Fontaines - Aix-en-Provence (153.0km) | 153.0km |
| 11-03 | 138 | | Stage 4Maurs - Mende (172.0km) | 172.0km |
| 10-03 | 152 | | Stage 3Saint-Junien - Aurillac (208.0km) | 208.0km |
| 09-03 | 161 | | Stage 2Contres - Limoges (203.0km) | 203.0km |
| 08-03 | 113 | | Stage 1Saint-Arnoult-en-Yvelines - Contres (201.0km) | 201.0km |
| 07-03 | 140 | | PrologueMontfort-l'Amaury - Montfort-l'Amaury (8.0km) | 8.0km |
| | | Volta ao Algarve (2.1) |
| 130 | | Klassement |
| 21-02 | 122 | 130 | Stage 5Lagoa - Portimão (17.0km) | 17.0km |
| 20-02 | 136 | | Stage 4Vila Real de Santo António - Tavira (169.0km) | 169.0km |
| 19-02 | 151 | | Stage 3Castro Marin - Malhão (173.0km) | 173.0km |
| 18-02 | 92 | | Stage 2Vila do Bispo - Lagos (207.0km) | 207.0km |
| 17-02 | 120 | | Stage 1Faro - Albufeira (157.0km) | 157.0km |
| | | Etoile de Bessèges (2.1) |
| 59 | | Klassement |
| 07-02 | 26 | 59 | Stage 5Gagnières - Bessèges (145.0km) | 145.0km |
| 06-02 | 80 | | Stage 4Alès - Alès (140.0km) | 140.0km |
| 05-02 | 76 | | Stage 3Pont-Saint-Esprit - Bagnols-sur-Cèze (148.0km) | 148.0km |
| 04-02 | 49 | | Stage 2Nîmes - Saint-Ambroix (141.0km) | 141.0km |
| 03-02 | 112 | | Stage 1Aigues-Mortes - Le Grau-du-Roi (146.0km) | 146.0km |
| 31-01 | 45 | | Grand Prix Cycliste la Marseillaise (1.1) | 139.0km |