Zaangażował się w działalność polityczną w ramach Sojuszu Lewicy Demokratycznej, przekształconego później w Nową Lewicę. W 2006 bez powodzenia kandydował na radnego Włocławka. W wyborach samorządowych w 2010 po raz pierwszy został wybrany do rady tego miasta. Z powodzeniem ubiegał się o reelekcję w 2014 i 2018. W styczniu 2017 wybrano go na przewodniczącego rady miasta, został odwołany z tego stanowiska w sierpniu tego samego roku. W 2018 ubiegał się również o prezydenturę Włocławka. W listopadzie tego samego roku powrócił na funkcję przewodniczącego rady. W styczniu 2019 prezydent Włocławka Marek Wojtkowski powierzył mu stanowisko swojego zastępcy.
W wyborach parlamentarnych w 2023 był kandydatem paktu senackiego z ramienia Nowej Lewicy w okręgu nr 13. Uzyskał mandat senatora XI kadencji, otrzymując 82 899 głosów. W styczniu 2024 został powołany na stanowisko sekretarza stanu w Ministerstwie Rozwoju i Technologii.
W wyborach samorządowych w 2024 wystartował z ramienia Lewicy na urząd prezydenta Włocławka, zajmując pierwsze miejsce w I turze, z wynikiem 41,40% głosów. W II turze pokonał ubiegającego się o reelekcję Marka Wojtkowskiego, uzyskując 56,28% głosów. W konsekwencji odszedł ze stanowiska rządowego, a także wygasł jego mandat senatorski.