W 1982 r. ukończył studia na wydziale technologii i eksploatacji maszyn Politechniki Lubelskiej z tytułem zawodowym magistra inżyniera mechanika. Od 1982 r. do 1989 r. był nauczycielem w szkole podstawowej w miejscowości Siennica-Lipusy. W 1989 r. został właścicielem gospodarstwa rolnego.
W latach 1990-1998 pełnił funkcję radnego i wójta gminy Czyżew-Osada. W latach 1994-1998 zasiadał w sejmiku województwa łomżyńskiego. Od 1998 r. do 2005 r. zajmował stanowisko starosty powiatu wysokomazowieckiego, zasiadając też w radzie powiatu. Senator X kadencji. Poseł na Sejm V, VI, VII i VIII kadencji.