Piłkę nożną zaczął uprawiać w Varsovii, reprezentował także barwy Delty Warszawa, rezerw Legii Warszawa oraz Znicza Pruszków. W 2008 roku trafił do Lecha Poznań, w którego barwach zadebiutował w Ekstraklasie. Z "Kolejorzem" wywalczył mistrzostwo, Puchar Polski i Superpuchar Polski. Dwa lata później przeniósł się do Bundesligi, by grać w Borussii Dortmund. Pod wodzą Juergena Kloppa dwa razy zdobył mistrzostwo Niemiec, a po razie Puchar Niemiec i Superpuchar Niemiec. W sezonie 2012/13 doszedł z drużyną do finału Ligi Mistrzów. Z klubem pożegnał się zostając królem strzelców Bundesligi w rozgrywkach 2013/2014. Obecnie jest zawodnikiem Bayernu Monachium, do którego przeszedł na zasadzie wolnego transferu. W reprezentacji Polski występuje od września 2008 roku. Od lutego 2014 roku jest jej kapitanem.