1926년 부산 부산진구 화명동 출생으로, 본관은 청주이다. 육군사관학교를 3기로 졸업하고, 미국 보병학교 고등반 및 육군대학을 졸업했다. 이후 경희대학교 정치외교학과 및 동대학교 경영대학원을 졸업했으며, 일본 와세다대학교[早稲田大學校] 대학원 국제정치학과를 수료했다.
1955년 6월 육군 준장으로 진급해 1956년 육군 교육총본부 작전교육처 처장에 임명되었다. 1959년 4월 육군 제32사단장에 임명되었고, 동년 8월 육군 소장으로 진급했으며, 12월에 제21사단장으로 발령받았다.
5·16군사정변 직후인 1961년 8월부터 1963년 12월까지 현역 군인 신분으로 경상남도 도지사를 지냈으며, 재직 중이었던 1962년 부산시가 경상남도로부터 분리되어 직할시로 승격되었다.
1963년 12월 육군 소장으로 예편한 후 바로 내무부 차관에 임명되었으며, 1964년 5월 제3공화국의 2기 내각 개편에서 내무부 장관으로 임명되었다. 1966년 4월 제7대 국회의원 선거 출마를 위해 내무부 장관직을 사임한 후 공화당 당무위원에 위촉되었으며, 제7대 국회의원 선거에서 공화당의 전국구 7번 순위로 국회에 입성했다. 하지만 이후 공화당에서 제명되어 무소속 신분으로 국회 상임위원회에서 내무위원으로 활동했으며, 공화당 제명의원들의 모임인 정우회(政友會) 회원으로도 참여했다.
1971년 제8대 국회의원 선거를 앞두고 정우회를 탈퇴, 다시 공화당에 입당했으며, 부산 동래갑 선거구에서 공화당의 공천을 받아 제8대 국회의원으로 당선되었다. 제8대 국회에서 문공위원장을 역임했으며, 1972년 1월 공화당 부산시지부위원장으로 선임되었다. 1973년 1월 공화당 운영위원 겸 사문위원회(査問委員會) 위원으로 임명되었으며 제9대, 제10대 국회의원 선거에 공화당 소속으로 출마해 부산 동래에서 연이어 당선되었다. 제10대 국회에서 내무위원장, 공화당 사무총장직을 수행했다.
박정희 대통령 서거 후, 구 공화당의 유정회 인사들을 중심으로 결성된 한국국민당 창당준비위원회의 부위원장으로 활동했으며, 1980년 12월 한국국민당 부산지구당 위원장으로 임명되었다. 1981년 한국국민당 고문 및 부총재직을 수행했으며, 제11대 국회의원 선거에 한국국민당 후보로 부산 동래 지역에 출마했지만 낙선했다. 이후 잠시 미국 서던캘리포니아대학교(University of Southern California)에서 객원연구원 생활을 하다가 귀국해 제12대 국회의원 선거에 국민당의 공천을 받았지만 국민당을 탈당, 무소속으로 출마해 낙선했다.
1987년 김종필에 의해 창당된 신민주공화당에 입당해 총재 당무담당 특별보좌관 및 부총재로 활동하다가, 제13대 국회의원 선거 부산 동래 을 지역구에 출마했지만 낙선했다. 이후 1995년 자유민주연합 고문을 끝으로 정계를 은퇴했다.
2011년 2월 14일 사망했으며, 상훈으로는 청조근정훈장, 을지무공훈장, 충무무공훈장, 화랑무공훈장, 무공포장, 보국훈장 청수장 등이 있다. 저서로는 경남도지사의 경험을 기록한 『인간 몰못트』와 『서광의 아침을 위하여』 등이 있다.