Działacz Polskiego Stronnictwa Ludowego. W wyborach w 2010 został wybrany na radnego powiatu zambrowskiego; zdobył wówczas 284 głosy w okręgu obejmującym gminy Zambrów i Szumowo. Funkcję tę pełnił do 2014, kiedy to – otrzymując 6241 głosów – został radnym Sejmiku Województwa Podlaskiego. 9 listopada 2015 został członkiem zarządu województwa podlaskiego. Stanowisko to zajmował do 11 grudnia 2018.
W październiku 2016 wybrany na prezesa PSL w województwie podlaskim. W sierpniu 2018 stanął także na czele powiatowych struktur PSL. W wyborach w tym samym roku z powodzeniem ubiegał się o reelekcję do sejmiku (dostał 9892 głosy).
W 2007, 2011 i 2015 bez powodzenia startował do Sejmu z podlaskiej listy PSL. W wyborach parlamentarnych w 2019 uzyskał mandat posła IX kadencji z ramienia Polskiego Stronnictwa Ludowego, otrzymując 13 439 głosów w okręgu białostockim. W lutym 2022 został sekretarzem Naczelnego Komitetu Wykonawczego PSL.