W reprezentacji Polski zadebiutował 12 kwietnia 2006 w wygranym spotkaniu z Rumunią (24:23). Uczestniczył w czterech finałach mistrzostw Europy (2008, 2010, 2012, 2014). Podczas igrzysk olimpijskich w Pekinie (2008) zdobył 12 bramek, w tym jedną w wygranym meczu o 5. miejsce z Rosją (29:28). Brał udział w trzech turniejach finałowych mistrzostw świata: 2009, 2011 i 2013. Największy sukces osiągnął w 2009 na turnieju w Chorwacji, w którym Polska zdobyła brązowy medal, a on zagrał w dziewięciu meczach, rzucając siedem bramek. W latach 2006–2014 rozegrał w kadrze 152 mecze, w których zdobył 265 goli.