W reprezentacji Polski występował na mistrzostwach świata seniorów (2008 – 36. miejsce w jeździe indywidualnej na czas, wyścigu ze startu wspólnego nie ukończył, 2009 – 59. miejsce w jeździe indywidualnej na czas, 2010 – 9. miejsce w jeździe indywidualnej na czas, wyścigu ze startu wspólnego nie ukończył, 2011 – 55. miejsce w jeździe indywidualnej na czas oraz 154. miejsce w wyścigu szosowym ze startu wspólnego, 2015 – 8. miejsce w jeździe indywidualnej na czas). W 2012 wystąpił na Igrzyskach Olimpijskich w Londynie, zajmując 25. miejsce w jeździe indywidualnej na czas i 84. miejsce w indywidualnym wyścigu szosowym ze startu wspólnego. Na mistrzostwach świata w tym samym roku zajął 4. miejsce w drużynowej jeździe na czas (z drużyną Liquigas-Cannondale) i 26 w jeździe indywidualnej na czas.
Od 2015 do 2016 roku reprezentował barwy grupy Tinkoff-Saxo. W jej barwach odniósł pierwsze zwycięstwo etapowe w wyścigu cyklu UCI World Tour – 5 sierpnia wygrał czwarty etap Tour de Pologne (Jaworzno – Nowy Sącz). Od 2017 roku jeździ w barwach grupy Bora-Hansgrohe.