W wyborach w 2015 wystartował do Senatu z ramienia Platformy Obywatelskiej w okręgu nr 98. Uzyskał mandat senatora IX kadencji, otrzymując 56 112 głosów. Do końca lipca 2019 pozostawał senatorem niezrzeszonym. Na początku sierpnia, po ogłoszeniu jego startu do Sejmu w wyborach w tym samym roku z listy Koalicji Obywatelskiej, został członkiem klubu PO-KO. W wyborach, startując z rekomendacji Inicjatywy Polska, uzyskał mandat posła IX kadencji, otrzymując 11 766 głosów. W 2023 z powodzeniem ubiegał się o poselską reelekcję z wynikiem 7239 głosów. Został następnie członkiem Platformy Obywatelskiej, a po jej przekształceniu w 2025 – partii Koalicja Obywatelska.
Wyniki w wyborach ogólnopolskich Wybory Komitet wyborczyOrganOkręgWynik 2001 Sojusz Lewicy Demokratycznej – Unia Pracy Sejm IV kadencji nr 41 4432 (1,31%)Mandat posła IV kadencji objął w 2004.