| 11-10 | DNF | | Paris - Tours Elite (1.HC) | 231.0km |
| 08-10 | 127 | | Paris-Bourges (1.1) | 190.0km |
| 27-09 | 76 | | UCI World Championship Richmond (WC) | 261.0km |
| 13-09 | DNF | | Grand Prix Cycliste de Montréal (WT) | 205.0km |
| 11-09 | 73 | | Grand Prix Cycliste de Québec (WT) | 201.0km |
| | | Tour of Alberta (2.1) |
| 47 | | Klassement |
| 07-09 | 25 | 47 | Stage 6Edmonton - Edmonton (124.0km) | 124.0km |
| 06-09 | 45 | 53 | Stage 5Edson - Spruce Grove (206.0km) | 206.0km |
| 05-09 | 73 | 58 | Stage 4Town of Jasper - Marmot Basin Ski Area (162.0km) | 162.0km |
| 04-09 | 49 | 56 | Stage 3Grande Cache - Jasper National Park (181.0km) | 181.0km |
| 03-09 | 93 | 90 | Stage 2Grande Prairie - Grande Prairie (171.0km) | 171.0km |
| 02-09 | 1 | 92 | Stage 1Grande Prairie - Grande Prairie (19.0km) | 19.0km |
| 30-08 | 112 | | GP Ouest France - Plouay (WT) | 229.0km |
| 23-08 | DNF | | Vattenfall Cyclassics (WT) | 221.0km |
| | | Tour de France (WT) |
| 102 | | Klassement |
| 26-07 | 22 | 102 | Stage 21Sèvres - Paris (109.0km) | 109.0km |
| 25-07 | 107 | 102 | Stage 20Modane - L'Alpe-d'Huez (110.0km) | 110.0km |
| 24-07 | 117 | 99 | Stage 19Saint-Jean-de-Maurienne - La Toussuire (138.0km) | 138.0km |
| 23-07 | 74 | 96 | Stage 18Gap - Saint-Jean-de-Maurienne (186.0km) | 186.0km |
| 22-07 | 79 | 98 | Stage 17Digne-les-Bains - Pra Loup (161.0km) | 161.0km |
| 20-07 | 66 | 103 | Stage 16Bourg-de-Péage - Gap (201.0km) | 201.0km |
| 19-07 | 18 | 108 | Stage 15Mende - Valence (183.0km) | 183.0km |
| 18-07 | 97 | 113 | Stage 14Rodez - Mende (178.0km) | 178.0km |
| 17-07 | 134 | 115 | Stage 13Muret - Rodez (198.0km) | 198.0km |
| 16-07 | 103 | 102 | Stage 12Lannemezan - Plateau de Beille (195.0km) | 195.0km |
| 15-07 | 128 | 94 | Stage 11Pau - Cauterets-Cambasque (188.0km) | 188.0km |
| 14-07 | 102 | 71 | Stage 10Tarbes - La Pierre-Saint-Martin (167.0km) | 167.0km |
| 12-07 | 11 | 76 | Stage 9Vannes - Plumelec (28.0km) | 28.0km |
| 11-07 | 122 | 72 | Stage 8Rennes - Mûr-de-Bretagne (181.0km) | 181.0km |
| 10-07 | 53 | 65 | Stage 7Livarot - Fougères (190.0km) | 190.0km |
| 09-07 | 42 | 66 | Stage 6Abbeville - Le Havre (191.0km) | 191.0km |
| 08-07 | 55 | 68 | Stage 5Arras - Amiens (189.0km) | 189.0km |
| 07-07 | 55 | 98 | Stage 4Seraing - Cambrai (223.0km) | 223.0km |
| 06-07 | 115 | 128 | Stage 3Antwerpen - Huy (159.0km) | 159.0km |
| 05-07 | 139 | 153 | Stage 2Utrecht - Neeltje Jans (166.0km) | 166.0km |
| 04-07 | 137 | 137 | Stage 1Utrecht - Utrecht (13.0km) | 13.0km |
| 28-06 | 25 | | National Road Championships - Switzerland (CN) | 192.0km |
| | | Tour de Suisse (WT) |
| 78 | | Klassement |
| 45 | | Punten |
| 22 | | Berg |
| 21-06 | 79 | 78 | Stage 9Bern - Bern (38.0km) | 38.0km |
| 20-06 | 54 | 80 | Stage 8Bern - Bern (152.0km) | 152.0km |
| 19-06 | 51 | 87 | Stage 7Biel - Düdingen (164.0km) | 164.0km |
| 18-06 | 35 | 101 | Stage 6Wil - Biel (191.0km) | 191.0km |
| 17-06 | 98 | 102 | Stage 5Flumserberg - Sölden (237.0km) | 237.0km |
| 16-06 | 94 | 106 | Stage 4Flims Laax Falera - Schwarzenbach SG (193.0km) | 193.0km |
| 15-06 | 114 | 111 | Stage 3Brunnen - Olivone (174.0km) | 174.0km |
| 14-06 | 89 | 95 | Stage 2Risch-Rotkreuz - Risch-Rotkreuz (161.0km) | 161.0km |
| 13-06 | 68 | 68 | Stage 1Risch-Rotkreuz - Risch-Rotkreuz (5.0km) | 5.0km |
| 11-06 | 85 | | GP Kanton Aargau (1.HC) | 181.0km |
| | | Tour of Norway (2.HC) |
| 58 | | Klassement |
| 24-05 | 58 | 58 | Stage 5Flå - Hønefoss (175.0km) | 175.0km |
| 23-05 | 37 | 60 | Stage 4Rjukan - Geilo (167.0km) | 167.0km |
| 22-05 | 89 | 84 | Stage 3Skien - Rjukan (185.0km) | 185.0km |
| 21-05 | 81 | 77 | Stage 2Drammen - Langesund (199.0km) | 199.0km |
| 20-05 | 75 | 79 | Stage 1Årnes - Sarpsborg (182.0km) | 182.0km |
| 12-04 | 20 | | Paris-Roubaix (WT) | 253.0km |
| 08-04 | 60 | | Scheldeprijs (1.HC) | 200.0km |
| 05-04 | 29 | | Ronde van Vlaanderen (WT) | 264.0km |
| | | Driedaagse De Panne-Koksijde (2.HC) |
| 02-04 | 72 | 36 | Stage 3aDe Panne - De Panne (111.0km) | 111.0km |
| 02-04 | 66 | 31 | Stage 3bDe Panne - De Panne (14.0km) | 14.0km |
| 01-04 | 62 | 39 | Stage 2Zottegem - Koksijde (217.0km) | 217.0km |
| 31-03 | 45 | 45 | Stage 1De Panne - Zottegem (201.0km) | 201.0km |
| 29-03 | 24 | | Gent - Wevelgem (WT) | 240.0km |
| 27-03 | 42 | | E3 Harelbeke (WT) | 215.0km |
| 22-03 | 61 | | Milano-Sanremo (WT) | 293.0km |
| | | Paris - Nice (WT) |
| 93 | | Klassement |
| 15-03 | 88 | 93 | Stage 7Nice - Col d'Eze (9.0km) | 9.0km |
| 14-03 | 71 | 95 | Stage 6Vence - Nice (181.0km) | 181.0km |
| 13-03 | 49 | 117 | Stage 5Saint-Étienne - Rasteau (192.0km) | 192.0km |
| 12-03 | 106 | 121 | Stage 4Varennes-sur-Allier - Croix-de-Chaubouret (204.0km) | 204.0km |
| 11-03 | 33 | 123 | Stage 3Saint-Amand-Montrond - Saint-Pourçain-sur-Sioule (179.0km) | 179.0km |
| 10-03 | 150 | 141 | Stage 2Saint-Aignan - Saint-Amand-Montrond (172.0km) | 172.0km |
| 09-03 | 129 | 125 | Stage 1Saint-Rémy-lès-Chevreuse - Contres (196.0km) | 196.0km |
| 08-03 | 139 | 139 | PrologueMaurepas - Maurepas (6.0km) | 6.0km |
| | | Tour of Oman (2.HC) |
| 20-02 | 111 | 97 | Stage 4Sultan Qaboos Grande Mosque - Jabal al Akhdhar (Green Mountain) (189.0km) | 189.0km |
| 19-02 | 106 | 88 | Stage 3Al Mussanah - Al Mussanah (158.0km) | 158.0km |
| 18-02 | 94 | 89 | Stage 2Al Hazm Castle - Al Bustan (195.0km) | 195.0km |
| 17-02 | 35 | 38 | Stage 1Bayt Al Naman Castle - Al Wutayya (161.0km) | 161.0km |
| 17-02 | 118 | 110 | Stage 6 | |
| | | Tour of Qatar (2.HC) |
| 101 | | Klassement |
| 13-02 | 58 | 101 | Stage 6Sealine Beach Resort - Doha Corniche (113.0km) | 113.0km |
| 12-02 | 100 | 105 | Stage 5Al Zubarah - Madinat Al Shamal (153.0km) | 153.0km |
| 11-02 | 62 | 113 | Stage 4Al Thakhira - Mesaieed (165.0km) | 165.0km |
| 10-02 | 137 | 119 | Stage 3Lusail - Lusail (10.0km) | 10.0km |
| 09-02 | 121 | 117 | Stage 2Al Wakra - Al Khor Corniche (194.0km) | 194.0km |
| 08-02 | 48 | 48 | Stage 1Dukhan - Sealine Beach Resort (136.0km) | 136.0km |
| 29-01 | 89 | | Trofeo Santanyi-SesSalines-Campos (1.1) | 175.0km |