Gimė 1944 m. vasario 20 d. Ukmergės rajono Siesikų miestelyje valstiečių samdinių šeimoje.
Tėvas 1946 m. sunkiai susirgo ir, būdamas 35 metų, 1947 m. mirė dėl širdies nepakankamumo. Mama dirbo kolūkyje, vėliau Daugailių ir Siesikų tarybiniuose ūkiuose kiaulių šėrėja ir karvių melžėja (mirė 2003 m.). Šeimoje augo dar du broliai vyriausiasis Algimantas (mirė 1999 m.) ir Stasys.
1950 m. pradėjo lankyti Siesikų apylinkės Belazariškių pradinę mokyklą, vėliau mokėsi Siesikų vidurinėje mokykloje, kurią baigė 1961 m.
1961 m. įstojo į Vilniaus valstybinio universiteto (dabar Vilniaus universitetas) Ekonomikos fakultetą, kurį baigė 1966 m. ir įgijo ekonomisto specialybę.
Nuo 1978 m. neakivaizdžiai studijavo Leningrado aukštojoje partinėje mokykloje, kurią baigė 1981 m. ir įgijo valstybės valdymo organizavimo specialybę.
19661972 m. dirbo Vilniaus miesto Finansų skyriuje valstybės pajamų ekonomistu, vyresniuoju ekonomistu ir Etatų skyriaus viršininko pavaduotoju.
19721976 m. Vilniaus rajono Finansų skyriaus vedėjas, 19761989 m. Vilniaus rajono vykdomojo komiteto pirmininko pavaduotojas, Plano komisijos pirmininkas.
1989 m. buvo pakviestas dirbti Lietuvos valstybinio gamtos apsaugos komiteto pirmininko pavaduotoju gyvūnijos apsaugos klausimais, tačiau greitai teko perimti ekonomikos klausimus ir pradėti kurti aplinkos apsaugos ekonominio valdymo pagrindus. 1991 m. šį komitetą perorganizavus į Aplinkos apsaugos departamentą, iki 1994 m. dirbo generalinio direktoriaus pavaduotoju.
19941996 m. aplinkos apsaugos ministras šeštojoje (XXVII) ir septintojoje (XXVIII) vyriausybėse.
19961997 m. dirbo UAB draudimo kompanijos Lamantinas prezidentu, o 19972000 m. AB Šaldytuvų ūkis eksporto ir importo terminalo direktoriumi.
20002004 m. VIII Seimo narys, išrinktas KaišiadoriųElektrėnų rinkimų apygardoje Nr. 59. Iškėlė Lietuvos demokratinė darbo partija. Seime dirbo Biudžeto ir finansų komitete (2004 m. gegužėslapkričio mėn. ėjo šio komiteto pirmininko pareigas).
20042008 m. IX Seimo narys, išrinktas KaišiadoriųElektrėnų rinkimų apygardoje Nr. 59. Iškėlė Lietuvos socialdemokratų partija. Seime dirbo Biudžeto ir finansų (20042006 m. pirmininko pavaduotojas) ir Aplinkos apsaugos (20062008 m. pirmininkas) komitetuose. Buvo Antikorupcijos ir Jūrinių ir žuvininkystės reikalų komisijų narys.
Buvo TSKP narys. Nuo 1995 m. Lietuvos demokratinės darbo partijos narys, šios partijos Vilniaus rajono skyriaus pirmininkas. Nuo 2001 m. Lietuvos socialdemokratų partijos tarybos narys.
Pomėgiai medžioklė, turizmas, grybavimas.
Moka rusų, lenkų kalbas, turi vokiečių kalbos pagrindus.
Žmona Danguolė. Du vaikai: Andrius (19692009 m.) ir Dainoras.