W latach 80. był związany z Konfederacją Polski Niepodległej. Zaangażował się później w działalność Polskiego Stronnictwa Ludowego, został wiceprezesem struktur wojewódzkich i prezesem struktur powiatowych tej partii. W 2015 objął funkcję sekretarza Naczelnego Komitetu Wykonawczego PSL.

W wyborach parlamentarnych w 2005 bez powodzenia kandydował do Senatu, a w wyborach w 2007 do Sejmu. W wyborach parlamentarnych w 2011 uzyskał mandat poselski, startując z 3. miejsca na liście Polskiego Stronnictwa Ludowego w okręgu płockim i otrzymując 4323 głosy. W wyborach samorządowych w 2014 kandydował na prezydenta Płocka, zajmując 5. miejsce spośród 7 kandydatów.

W wyborach w 2015 został ponownie wybrany do Sejmu, otrzymując 8070 głosów. W 2019 z powodzeniem ubiegał się o poselską reelekcję, uzyskując 16 775 głosów. 12 listopada 2019 został wybrany na wicemarszałka Sejmu IX kadencjiUchwała Sejmu Rzeczypospolitej Polskiej z dnia 12 listopada 2019 r. w sprawie wyboru wicemarszałka Sejmu ().. W wyborach w 2023 po raz czwarty z rządu został wybrany do Sejmu, kandydując z ramienia koalicji Trzecia Droga i zdobywając z wynikiem 32 011 głosów. 13 listopada tego samego roku został wybrany na wicemarszałka Sejmu X kadencjiUchwała Sejmu Rzeczypospolitej Polskiej z dnia 13 listopada 2023 r. w sprawie wyboru wicemarszałka Sejmu ()..