Karierę piłkarską rozpoczynał w Pogoni Szczecin, skąd w 2007 roku przeniósł się do Legii Warszawa.
W 2008 roku został wypożyczony do szwajcarskiego FC Sion. Po powrocie grał w Jagielloni Białystok, z którą zdobył Puchar Polski oraz Superpuchar. W 2011 roku przeszedł do tureckiego Sivassporu, po czym występował we francuskim klubie Stade Rennais, następnie w angielskich klubach Hull City oraz West Bromwich Albion.
Od 2008 roku jest reprezentantem Polski w piłce nożnej. Uczestniczył w Mistrzostwach Europy w 2012 i 2016 roku oraz w Mistrzostwach Świata w 2018 i 2022 roku.
W 2022 roku został wybrany Ligowcem Roku w plebiscycie tygodnika Piłka Nożna. W 2023 roku został najlepszym piłkarzem sezonu 2022/2023 w Ekstraklasie.
