W reprezentacji Polski zadebiutował 14 listopada 2009 w meczu towarzyskim przeciwko Rumunii rozegranym w Warszawie. W debiucie na boisku spędził 16 minut. Pierwszego gola zdobył w kolejnym meczu towarzyskim, przeciwko Kanadzie, 18 listopada 2009. 2 maja 2012 został powołany przez selekcjonera Franciszka Smudę, na współorganizowane przez Polskę, Euro 2012. Na tym turnieju wystąpił 8 czerwca 2012 w zremisowanym 1:1 meczu otwarcia z Grecją. 4 czerwca 2013 w towarzyskim meczu z Liechtensteinem (2:0), strzelił 1300. gola w historii reprezentacji Polski. 12 maja 2016 znalazł się w powołanej przez Adama Nawałkę, szerokiej kadrze reprezentacji Polski na Euro 2016, jednak z wyjazdu na turniej ostatecznie wyeliminowała go kontuzja barku.