| 04-10 | 15 | | Tour of Almaty (1.1) | 186.0km |
| 27-09 | 15 | | UCI World Championship Richmond (WC) | 261.0km |
| 13-09 | 46 | | Grand Prix Cycliste de Montréal (WT) | 205.0km |
| 11-09 | 103 | | Grand Prix Cycliste de Québec (WT) | 201.0km |
| | | Tour of Alberta (2.1) |
| 40 | | Klassement |
| 07-09 | 26 | 40 | Stage 6Edmonton - Edmonton (124.0km) | 124.0km |
| 06-09 | 4 | 42 | Stage 5Edson - Spruce Grove (206.0km) | 206.0km |
| 05-09 | 53 | 46 | Stage 4Town of Jasper - Marmot Basin Ski Area (162.0km) | 162.0km |
| 04-09 | 57 | 49 | Stage 3Grande Cache - Jasper National Park (181.0km) | 181.0km |
| 03-09 | 17 | 12 | Stage 2Grande Prairie - Grande Prairie (171.0km) | 171.0km |
| 02-09 | 3 | 14 | Stage 1Grande Prairie - Grande Prairie (19.0km) | 19.0km |
| 23-08 | 69 | | Vattenfall Cyclassics (WT) | 221.0km |
| | | Eneco Tour (WT) |
| 63 | | Klassement |
| 16-08 | 19 | 63 | Stage 7Sint-Pieters-Leeuw - Geraardsbergen (188.0km) | 188.0km |
| 15-08 | 84 | 76 | Stage 6Heerlen - Houffalize (198.0km) | 198.0km |
| 14-08 | 20 | 29 | Stage 5Riemst - Sittard-Geleen (179.0km) | 179.0km |
| 13-08 | 59 | 59 | Stage 4Hoogerheide - Hoogerheide (13.0km) | 13.0km |
| 12-08 | 11 | 19 | Stage 3Beveren - Ardooie (171.0km) | 171.0km |
| 11-08 | 7 | 16 | Stage 2Breda - Breda (180.0km) | 180.0km |
| 10-08 | 15 | 19 | Stage 1Bolsward - Bolsward (183.0km) | 183.0km |
| | | Tour de Wallonie (2.HC) |
| 16 | | Klassement |
| 29-07 | 21 | 16 | Stage 5Chimay - Thuin (167.0km) | 167.0km |
| 28-07 | 11 | 18 | Stage 4Waterloo - Quaregnon (164.0km) | 164.0km |
| 27-07 | 19 | 18 | Stage 3Bastogne - Namur (207.0km) | 207.0km |
| 26-07 | 6 | 14 | Stage 2Beaufays - Bassenge (171.0km) | 171.0km |
| 25-07 | 10 | 10 | Stage 1Wanze - Hannut (190.0km) | 190.0km |
| 28-06 | 4 | | National Road Championships - Russia (CN) | 204.0km |
| 26-06 | 16 | | National Road Championships - Russia TT (CN) | 56.0km |
| | | Tour de Suisse (WT) |
| 76 | | Klassement |
| 36 | | Punten |
| 41 | | Berg |
| 21-06 | 55 | 76 | Stage 9Bern - Bern (38.0km) | 38.0km |
| 20-06 | 12 | 78 | Stage 8Bern - Bern (152.0km) | 152.0km |
| 19-06 | 102 | 90 | Stage 7Biel - Düdingen (164.0km) | 164.0km |
| 18-06 | 126 | 95 | Stage 6Wil - Biel (191.0km) | 191.0km |
| 17-06 | 125 | 93 | Stage 5Flumserberg - Sölden (237.0km) | 237.0km |
| 16-06 | 38 | 84 | Stage 4Flims Laax Falera - Schwarzenbach SG (193.0km) | 193.0km |
| 15-06 | 119 | 114 | Stage 3Brunnen - Olivone (174.0km) | 174.0km |
| 14-06 | 107 | 100 | Stage 2Risch-Rotkreuz - Risch-Rotkreuz (161.0km) | 161.0km |
| 13-06 | 89 | 89 | Stage 1Risch-Rotkreuz - Risch-Rotkreuz (5.0km) | 5.0km |
| | | Baloise Belgium Tour (2.HC) |
| 8 | | Klassement |
| 31-05 | 9 | 8 | Stage 4Sankt Vith - Sankt Vith (199.0km) | 199.0km |
| 30-05 | 53 | 20 | Stage 3Lac de l'Eau d'Heure - Lac de l'Eau d'Heure (158.0km) | 158.0km |
| 29-05 | 18 | 21 | Stage 2Knokke-Heist - Herzele (201.0km) | 201.0km |
| 28-05 | 141 | 41 | Stage 1Lochristi - Knokke-Heist (178.0km) | 178.0km |
| 27-05 | 43 | 43 | PrologueBornem - Bornem (6.0km) | 6.0km |
| | | Bayern Rundfahrt (2.HC) |
| 12 | | Klassement |
| 17-05 | 38 | 12 | Stage 5Haßfurt - Nürnberg (197.0km) | 197.0km |
| 16-05 | 13 | 12 | Stage 4Haßfurt - Haßfurt (26.0km) | 26.0km |
| 15-05 | 25 | 25 | Stage 3Selb - Ebern (205.0km) | 205.0km |
| 14-05 | 11 | 21 | Stage 2Waldsassen - Selb (179.0km) | 179.0km |
| 13-05 | 24 | 28 | Stage 1Regensburg - Waldsassen (221.0km) | 221.0km |
| 12-04 | 50 | | Paris-Roubaix (WT) | 253.0km |
| 08-04 | 155 | | Scheldeprijs (1.HC) | 200.0km |
| 05-04 | 33 | | Ronde van Vlaanderen (WT) | 264.0km |
| 27-03 | 97 | | E3 Harelbeke (WT) | 215.0km |
| 25-03 | 14 | | Dwars door Vlaanderen (1.HC) | 200.0km |
| | | Paris - Nice (WT) |
| 14-03 | DNF | | Stage 6Vence - Nice (181.0km) | 181.0km |
| 13-03 | 73 | 125 | Stage 5Saint-Étienne - Rasteau (192.0km) | 192.0km |
| 12-03 | 119 | 136 | Stage 4Varennes-sur-Allier - Croix-de-Chaubouret (204.0km) | 204.0km |
| 11-03 | 146 | 134 | Stage 3Saint-Amand-Montrond - Saint-Pourçain-sur-Sioule (179.0km) | 179.0km |
| 10-03 | 138 | 125 | Stage 2Saint-Aignan - Saint-Amand-Montrond (172.0km) | 172.0km |
| 09-03 | 91 | 70 | Stage 1Saint-Rémy-lès-Chevreuse - Contres (196.0km) | 196.0km |
| 08-03 | 76 | 76 | PrologueMaurepas - Maurepas (6.0km) | 6.0km |
| 01-03 | 40 | | Kuurne-Brussel-Kuurne (1.1) | 195.0km |
| 28-02 | DNF | | Omloop Het Nieuwsblad Elite (1.HC) | 200.0km |
| | | Tour of Qatar (2.HC) |
| 31 | | Klassement |
| 13-02 | 62 | 31 | Stage 6Sealine Beach Resort - Doha Corniche (113.0km) | 113.0km |
| 12-02 | 70 | 31 | Stage 5Al Zubarah - Madinat Al Shamal (153.0km) | 153.0km |
| 11-02 | 24 | 23 | Stage 4Al Thakhira - Mesaieed (165.0km) | 165.0km |
| 10-02 | 47 | 22 | Stage 3Lusail - Lusail (10.0km) | 10.0km |
| 09-02 | 16 | 25 | Stage 2Al Wakra - Al Khor Corniche (194.0km) | 194.0km |
| 08-02 | 54 | 54 | Stage 1Dukhan - Sealine Beach Resort (136.0km) | 136.0km |