W latach 2000–2002 był członkiem Rady Osiedla Karolew-Retkinia Wschód, w 2001 pełnił funkcję wiceprzewodniczącego zarządu osiedla. Jako kandydat PO w wyborach samorządowych w 2006 zdobył 3901 głosów (najwięcej spośród wszystkich kandydatów) i został radnym Rady Miejskiej w Łodzi. Objął funkcję wiceprzewodniczącego tej rady, a 5 grudnia 2007 został wybrany na jej przewodniczącego (wakat nastąpił w związku z wyborem Macieja Grubskiego do Senatu).

W 2007 został również sekretarzem Wojewódzkiej Rady Bezpieczeństwa Ruchu Drogowego. W 2010 ponownie został radnym, a 30 listopada 2010 po raz drugi wybrano go na przewodniczącego Rady Miejskiej. Odwołano go 26 czerwca 2013. W 2011 został członkiem zarządu Związku Miast Polskich oraz komitetu politycznego Rady Gmin i Regionów Europy.

W 2011 kandydował bez powodzenia w wyborach do Sejmu RP z szóstego miejsca na liście komitetu wyborczego Platformy Obywatelskiej w okręgu wyborczym nr 9 w Łodzi, jednak nie uzyskał mandatu poselskiego. Oddano na niego 1674 głosy (0,46% głosów oddanych w okręgu). W 2014, 2018 i 2024 ponownie wybierany do łódzkiej Rady Miejskiej. 1 grudnia 2014 objął przewodnictwo tego gremium, pełnił tę funkcję do listopada 2018. W 2015 został ponownie członkiem zarządu ZMP, w którym zasiadał do 2019.