2017

  • 1st Paris-Nice: Stage 6
  • 9th Paris-Nice: Overall GC
  • 1st Tour de Romandie: Stage 4
  • 2nd Tour de Romandie: Overall GC

2016

  • 6th Paris-Nice: Stage 6
  • 5th Paris-Nice: Stage 7
  • 7th Paris-Nice: Overall GC
  • 1st Ordiziako Klasika
  • 7th Clasica San Sabastian
  • 4th Vuelta Ciclista a Burgos: Overall GC
  • 1st Vuelta a Espana: Stage 6
  • 6th Vuelta a Espana: Overall GC

2015

  • 8th Tour of the Basque Country: Stage 3
  • 3rd Tour of the Basque Country: Stage 4
  • 12th Tour of the Basque Country: Stage 6
  • 5th Tour of the Basque Country: Overall GC
  • 9th Tour de Romandie: Stage 4
  • 12th Tour de Romandie: Stage 6
  • 6th Tour de Romandie: Overall GC
  • 5th Criterium du Dauphiné: Stages 5 & 6
  • 11th Criterium du Dauphiné: Stage 7
  • 2nd Criterium du Dauphiné: Stage 8
  • 5th Criterium du Dauphiné: Overall GC
  • 8th Tour de France: Stage 3
  • 10th Tour de France: Stage 14
  • 11th Tour de France: Stage 20
  • 84th Tour de France: Overall GC
  • 14th Clasica San Sebastian

2014

  • 15th Paris-Nice: Stage 7
  • 12th Tour of the Basque Country: Overall GC
  • 5th Tour of Slovenia: Stage 3
  • 7th Tour of Slovenia: Overall GC
  • 3rd National Championship, Road, Elite
  • 21st Tour de France: Stage 14
  • 22nd Grand Prix Cycliste de Quebec
 

2013

  • 1st World Championship, Track, Points race, Elite
  • 3rd La Cote Picarde, U23, France
  • 3rd Arden Challenge: Stage 1
  • 2nd Arden Challenge: Stages 2 & 3
  • 1st Arden Challenge: Stage 4
  • 1st Arden Challenge: Overall GC
  • 2nd Tour of the Reservoir: Stage 1
  • 4th Fleche du Sud: Stage 4
  • 3rd Fleche du Sud: Stage 5
  • 10th Fleche du Sud: Overall GC
  • 9th Ras Tailteann: Overall GC
  • 2nd Thuringen-Rundfahrt, U23: Stage 3
  • 3rd Thuringen-Rundfahrt, U23: Stage 6
  • 10th Thuringen-Rundfahrt, U23: Overall GC
  • 4th Ryedale GP, Great Britain
  • 1st Tour de l'Avenir: Stages 5 & 6
  • 10th Tour de l'Avenir: Overall GC
  • 4th Tour of Britain: Stage 2
  • 6th Tour of Britain: Stage 5
  • 1st Tour of Britain: Stage 6
  • 3rd Tour of Britain: Overall GC

2012

  • 4th Tour de Normandie: Stage 5
  • 4th Thuringen-Rundfahrt, U23: Stage 4
  • 8th Tour of Britain: Stage 6

2011

  • 3rd Beijing, Team Pursuit, China
  • 9th Thuringen-Rundfahrt, U23: Overall GC
  • 1st Twinings Tour Salisbury
  • 3rd Tour de l'Avenir: Stage 4
  • 1st Tour de l'Avenir: Stage 6

2010

  • 2nd Eddie Soens Memorial, Great Britain
  • 1st World Championship, Track, Madison, Juniors
  • 2nd World Championship, Track, Team Pursuit, Juniors