Pływać zaczął w wieku sześciu lat. W pierwszej klasie trafił do klasy sportowej. W piątej - poprawił trzy rekordy Polski w swojej kategorii wiekowej.
W 2003 roku w Glasgow zdobył złoto na 400 m kraulem i srebro na 1500 m kraulem w mistrzostwach Europy juniorów.
Zakwalifikował się do udziału w Igrzyskach Olimpijskich w Atenach w 2004 roku, ale nie udało mu się dostać do finałów. Kolejne stary w mistrzostwach świata i Europy kończyły się czwartymi miejscami.
Pierwszy medal w seniorskiej karierze - srebro na 400 m stylem dowolnym mistrzostw Europy na krótkim basenie - zdobył w grudniu 2006 roku w helsinkach.
W 2007 roku na mistrzostwach świata w Melbourne zdobył srebrny medal na 800 m stylem dowolnym i ustanowił przy tym rekord Polski. Po pół roku na skutek dyskwalifikacji Tunezyjczyka Oussama Mellouliego został mistrzem świata.