W reprezentacji Polski zadebiutował 27 grudnia 2004 w Zlinie, w przegranym meczu towarzyskim z Czechami (29:33). Po raz ostatni zagrał w narodowych barwach 7 maja 2017 w zremisowanym spotkaniu eliminacyjnym do mistrzostw Europy w Chorwacji z Białorusią (27:27), w którym zdobył jednego gola.

Uczestniczył w igrzyskach olimpijskich w Pekinie (2008) i Rio de Janeiro (2016). W 2007 podczas mistrzostw świata w Niemczech, w których rozegrał 10 meczów i rzucił 22 bramki, zdobył srebrny medal. Brał również udział w mistrzostwach świata we Francji (2017), podczas których pełnił funkcję kapitana reprezentacji Polski (w zastępstwie kontuzjowanych Michała Jureckiego i Mariusza Jurkiewicza). Wystąpił też w mistrzostwach Europy w Norwegii (2008; 7. miejsce) i mistrzostwach Europy w Austrii (2010; 4. miejsce).

Sukcesy Vive Kielce Liga Mistrzów: 2015/2016 3. miejsce w Lidze Mistrzów: 2012/2013, 2014/2015 3. miejsce w Super Globe: 2016 Mistrzostwo Polski: 2008/2009, 2009/2010, 2011/2012, 2012/2013, 2013/2014, 2014/2015, 2015/2016, 2016/2017, 2017/2018 Puchar Polski: 2008/2009, 2009/2010, 2010/2011, 2011/2012, 2012/2013, 2013/2014, 2014/2015, 2015/2016, 2016/2017, 2017/2018, 2018/2019

Reprezentacja Polski 2.