| 03-10 | 64 | | Sparkassen Münsterland Giro (1.1) | 196.0km |
| 30-09 | 11 | | Duo Normand (1.1) | |
| 23-09 | DNF | | UCI World Championship Limburg (WC) | 267.0km |
| 19-09 | 29 | | UCI World Championship Limburg TT (CM) | 45.0km |
| | | Tour of Colorado (2.HC) |
| 55 | | Klassement |
| 26-08 | 27 | 55 | Stage 7Denver - Denver (15.0km) | 15.0km |
| 25-08 | 30 | 55 | Stage 6Golden - Boulder (166.0km) | 166.0km |
| 24-08 | 47 | 65 | Stage 5Breckenridge - Colorado Springs (189.0km) | 189.0km |
| 23-08 | 37 | 65 | Stage 4Aspen - Beaver Creek (156.0km) | 156.0km |
| 22-08 | 82 | 72 | Stage 3Gunnison - Aspen (210.0km) | 210.0km |
| 21-08 | 62 | 54 | Stage 2Montrose - Crested Butte (159.0km) | 159.0km |
| 20-08 | 35 | 57 | Stage 1Durango - Telluride (202.0km) | 202.0km |
| 31-07 | 48 | | Circuito de Getxo Memorial Ricardo Otxoa (1.1) | 170.0km |
| 25-07 | 14 | | Prueba Villafranca-Ordiziako Klasika (1.1) | |
| | | Tour of Qinghai Lake (2.HC) |
| 7 | | Klassement |
| 12-07 | 19 | 7 | Stage 13Lanzhou - Lanzhou (78.0km) | 78.0km |
| 11-07 | 66 | 6 | Stage 12Zhongwei - Baiyin (220.0km) | 220.0km |
| 10-07 | 31 | 6 | Stage 11Zhongwei - Zhongwei (107.0km) | 107.0km |
| 09-07 | 33 | 6 | Stage 10Wuwei - Jingtai (191.0km) | 191.0km |
| 08-07 | 38 | 6 | Stage 9Zhangye - Zhangye (117.0km) | 117.0km |
| 07-07 | 38 | 6 | Stage 8Qilian - Zhangye (201.0km) | 201.0km |
| 05-07 | 36 | 6 | Stage 7Qilian - Qilian (104.0km) | 104.0km |
| 04-07 | 4 | 6 | Stage 6Xihaizhen - Mole (123.0km) | 123.0km |
| 03-07 | 35 | 6 | Stage 5Tianjin - Xihaizhen (205.0km) | 205.0km |
| 02-07 | 33 | 6 | Stage 4Qinghai Lake - Chaqia (148.0km) | 148.0km |
| 01-07 | 3 | 4 | Stage 3Xining - Qinghai Lake (147.0km) | 147.0km |
| 30-06 | 26 | 33 | Stage 2Duoba - Huzhu (122.0km) | 122.0km |
| 29-06 | 63 | 66 | Stage 1Xining - Xining (96.0km) | 96.0km |
| 21-06 | 5 | | National Road Championships - Russia TT (CN) | |
| | | Ster ZLM Toer GP Jan van Heeswijk (2.1) |
| 30 | | Klassement |
| 17-06 | 69 | 30 | Stage 4Schijndel - Boxtel (182.0km) | 182.0km |
| 16-06 | 33 | 30 | Stage 3Verviers - Jalhay (184.0km) | 184.0km |
| 15-06 | 56 | 47 | Stage 2Nuth - Nuth (167.0km) | 167.0km |
| 14-06 | 56 | 59 | Stage 1Eindhoven - Sittard-Geleen (151.0km) | 151.0km |
| | | Ronde van België (2.HC) |
| 4 | | Klassement |
| 27-05 | 3 | 4 | Stage 5Clavier - Engis (212.0km) | 212.0km |
| 26-05 | 9 | 9 | Stage 4Turnhout - Arendonk (20.0km) | 20.0km |
| 25-05 | 84 | 66 | Stage 3Knokke-Heist - Beveren (163.0km) | 163.0km |
| 24-05 | 60 | 63 | Stage 2Lochristi - Knokke-Heist (170.0km) | 170.0km |
| 23-05 | 75 | 77 | Stage 1Mechelen - Buggenhout (162.0km) | 162.0km |
| | | Glava Tour of Norway (2.1) |
| 5 | | Klassement |
| 20-05 | 28 | 5 | Stage 5Gjøvik - Hønefoss (172.0km) | 172.0km |
| 19-05 | 8 | 5 | Stage 4Hamar - Lillehammer (195.0km) | 195.0km |
| 18-05 | 58 | 56 | Stage 3Lillestrøm - Elverum (180.0km) | 180.0km |
| 17-05 | 56 | 64 | Stage 2Oslo - Drammen (163.0km) | 163.0km |
| 16-05 | 67 | 69 | Stage 1Sandefjord - Tønsberg (185.0km) | 185.0km |
| | | Vuelta a la Comunidad de Madrid (2.1) |
| 1 | | Klassement |
| 06-05 | 1 | 1 | Stage 2Colmenar Viejo - Puerto de la Morcuera (182.0km) | 182.0km |
| 05-05 | 3 | 3 | Stage 1Casa de Campo - Casa de Campo (7.0km) | 7.0km |
| 01-05 | 3 | | Rund um den Finanzplatz Eschborn-Frankfurt (1.HC) | 200.0km |
| 29-04 | 33 | | Giro della Toscana (1.1) | 200.0km |
| 28-04 | 6 | | GP Industria & Artigianato (1.1) | 200.0km |
| | | Grand Prix of Adygeya (2.2) |
| 2 | | Klassement |
| 22-04 | 40 | 2 | Stage 5Gaverdovskiy - Gaverdovskiy (108.0km) | 108.0km |
| 21-04 | 2 | 2 | Stage 4Maykop - Guseripl (148.0km) | 148.0km |
| 20-04 | 20 | 2 | Stage 3Maykop - Maykop (157.0km) | 157.0km |
| 19-04 | 9 | 2 | Stage 2Maykop - Maykop (171.0km) | 171.0km |
| 18-04 | 1 | 1 | Stage 1Kamennomostskiy - Pobeda (10.0km) | 10.0km |
| | | Grand Prix of Sochi (2.2) |
| 16 | | Klassement |
| 08-04 | 28 | 16 | Stage 5Nebug - Krasnodar (163.0km) | 163.0km |
| 07-04 | 2 | 16 | Stage 4Nebug - Nebug (238.0km) | 238.0km |
| 06-04 | 2 | 25 | Stage 3Novo Rossiysk - Nebug (154.0km) | 154.0km |
| 05-04 | 10 | 29 | Stage 2Anapa - Anapa (128.0km) | 128.0km |
| 04-04 | 77 | 77 | Stage 1Krasnodar - Anapa (179.0km) | 179.0km |
| 31-03 | 48 | | Volta Limburg Classic (1.1) | 190.0km |