29 maja 2005 został przewodniczącym Sojuszu Lewicy Demokratycznej. Był członkiem komitetu wyborczego Włodzimierza Cimoszewicza w wyborach prezydenckich w tym samym roku. W wyborach w 2005 po raz drugi uzyskał mandat poselski, 26 października 2005 został wybrany na wicemarszałka Sejmu. W wyborach parlamentarnych w 2007 po raz trzeci został posłem, kandydując z listy koalicji Lewica i Demokraci w okręgu łódzkim i otrzymując 51 865 głosów. Od 22 kwietnia 2008 przewodniczył klubowi poselskiemu Lewica. 31 maja 2008 nie został ponownie wybrany na przewodniczącego SLD, przegrywając z Grzegorzem Napieralskim stosunkiem głosów 210:231.
7 czerwca 2009 z listy koalicyjnego komitetu wyborczego SLD-UP w okręgu wyborczym Warszawa uzyskał mandat deputowanego do Parlamentu Europejskiego, otrzymując 72 854 głosy. W wyborach samorządowych w 2010 zajął 3. miejsce w wyborach na prezydenta Warszawy, uzyskując 13,33% głosów. W wyborach do Parlamentu Europejskiego w 2014 startował z listy koalicji SLD-UP, nie uzyskując reelekcji (zdobył 36 416 głosów). W latach 2013–2016 był prezesem Polskiego Związku Triathlonu.