Od 1972 orzeka w sądownictwie. Był asesorem, sędzią sądu powiatowego i rejonowego w Grodzisku Mazowieckim, wiceprezesem Sądu Rejonowego w Pruszkowie, a w latach 1980–1990 sędzią Sądu Wojewódzkiego w Warszawie. W 1990 został sędzią Sądu Najwyższego, 25 marca 1999 powołano go na stanowisko prezesa Sądu Najwyższego kierującego Izbą Karną. Po śmierci Stanisława Dąbrowskiego pełnił obowiązki pierwszego prezesa Sądu Najwyższego (od 9 stycznia do 30 kwietnia 2014). Zakończył urzędowanie w sierpniu 2016, przechodząc następnie w stan spoczynku.
Od 1970 do rozwiązania należał do Zjednoczonego Stronnictwa Ludowego (był wiceprezesem komitetu miejskiego partii). Od 1984 do 1988 zasiadał w Miejskiej Radzie Narodowej Pruszkowa. Uczestniczył w obradach Okrągłego Stołu w podzespole do spraw reformy prawa i sądów. W latach 1989–1991 zasiadał w Sejmie kontraktowym. Został wybrany z puli ZSL, po którego przekształceniu działał w Polskim Stronnictwie Ludowym „Odrodzenie”, zasiadał w Komisji Konstytucyjnej, Komisji Sprawiedliwości i Komisji Ustawodawczej oraz w trzech komisjach nadzwyczajnych. Na koniec kadencji był posłem niezrzeszonym. Od 1993 do 1997 z rekomendacji PSL pełnił funkcję zastępcy przewodniczącego Trybunału Stanu.