Na początku kariery sportowej zajmował się w biegami. Chodem sportowym zajął się w 1992, a na dużej imprezie międzynarodowej zadebiutował w 1996 zajmując siódme miejsce w mistrzostwach świata juniorów. Rok później uplasował się na dziesiątym miejscu podczas rozgrywanych w Lublanie juniorskiego czempionatu Starego Kontynentu – w tym samym sezonie zadebiutował w reprezentacji podczas pucharu świata w chodzie sportowym zajmując na dystansie 20 kilometrów odległe 70. miejsce. Przez pierwsze lata kariery startował głównie w chodzie na 20 kilometrów nie odnosząc większych sukcesów międzynarodowych, dopiero w 2002 zaczął występować także na dłuższym dystansie 50 kilometrów. Podczas mistrzostw Europy w Monachium (2002) w chodzie na 50 kilometrów był dziesiąty, a rok później został zdjęty z trasy przez sędziów na mistrzostwach świata. W swoim debiucie na igrzyskach olimpijskich zajął wysokie siódme miejsce w chodzie na 50 kilometrów. Na mistrzostwach globu w 2005 ponownie został zdyskwalifikowany przez sędziów. Dziesiąty zawodnik mistrzostw Europy w 2006 oraz dwudziesty pierwszy mistrzostw świata w 2007. W Pekinie drugi raz w karierze wystąpił na igrzyskach olimpijskich – długo znajdował się w czołówce chodu, jednak nie wytrzymał tempa, do tego wypadł mu z kieszeni żel energetyczny i ostatecznie zajął 9. miejsce. Tuż za podium – na czwartym miejscu – ukończył chód na 50 kilometrów podczas mistrzostw świata w 2009, jednak po dyskwalifikacji zwycięzcy tamtych zawodów Sergieja Kirdiapkina przesunął się na 3. miejsce. W 2010 został w Barcelonie wicemistrzem Europy w chodzie na 50 kilometrów – po tym sukcesie został nominowany w Plebiscycie Przeglądu Sportowego. Z powodu kontuzji musiał wycofać się po pokonaniu ponad 30 kilometrów chodu na 50 kilometrów podczas mistrzostw świata w Daegu (na 25. i 30. kilometrze Polak sklasyfikowany był na 3. miejscu). Po badaniach okazało się, że chodziarz naderwał mięsień przywodziciel uda.