Nel 2002 a Zolder vince il titolo di campione del mondo nella prova a cronometro Under-23. Passa professionista l'anno dopo tra le file della squadra belga Landbouwkrediet-Colnago; nel 2004, oltre a vincere il titolo nazionale sia in linea che a cronometro, partecipa per la prima volta al Giro d'Italia, classificandosi secondo nella tappa di Policoro. In estate rappresenta peraltro il suo paese ai Giochi olimpici di Atene, gareggiando nella corsa a punti e nell'inseguimento a squadre su pista.
Nel 2005 si trasferisce alla AG2R Prévoyance, e nella stagione successiva al Giro d'Italia si aggiudica la frazione di Termoli battendo allo sprint Paolo Bettini. Nel 2007 passa alla statunitense Discovery Channel, ottenendo quell'anno il sesto posto al Giro delle Fiandre. Al termine della stagione, con lo scioglimento della Discovery Channel, si accasa al team Astana insieme al direttore sportivo Johan Bruyneel e a sette compagni di squadra.
Nel 2008 ottiene tre successi, tra cui quello nel campionato nazionale, e corre la Vuelta a España. Rimane sotto la direzione di Bruyneel fino a tutto il 2010, quest'ultimo anno al Team RadioShack, prima di ritornare all'Astana all'inizio del 2011. Nel 2012 viene quindi messo sotto contratto dalla GreenEDGE, neonata formazione World Tour australiana. Tra le file della GreenEDGE/Orica vince una tappa all'Azerbaijan International Tour e il quinto titolo nazionale, il terzo in linea.
Nel 2016 torna al successo vincendo 5 corse in Algeria; l'anno successivo si ritira dall'attività professionistica.