1932년 경상북도 선산군(현 구미시 선산읍) 장천면 출생으로, 본관은 선산(善山), 호는 허주(虛舟)이다.
대구 수창초등학교와 경북중학교(현 경운중학교)를 졸업한 후, 경북고등학교를 거쳐 경북대학교 영문학과를 졸업하였다. 1968년 미국 오하이오대학교 대학원에서 신문학을 수학하였다.
부친은 오상고등학교 설립자이자 제4대 민의원을 지낸 매암(梅巖) 김동석(金東碩)이며, 동생은 제17·18·19대 국회의원을 지낸 김태환(金泰煥)으로 3부자 국회의원으로도 유명하다.
경북대학교를 졸업하고, 1955년부터 『영남일보』, 『대구일보』, 『동화통신』 기자로 활동하다가 1960년 3월 『조선일보』 정치부 기자로 자리를 옮겼다. 1962년 조선일보사 주일 특파원, 1966년 주미 특파원을 거쳐, 1971년 3월 정치부 부장, 1974년 7월 편집국 부국장, 1975년 6월 편집국 국장 대리로 활동하였다.
1973년 제9대 국회의원 선거에서 고향인 경상북도 선산군에 무소속으로 출마하여 낙선하였다. 1979년 제10대 국회에 유정회 의원으로 당선되면서 본격적인 정치 활동을 시작하였다. 제10대 국회의원 시절 농림수산위원회 위원으로 활동하였고, APU총회 한국대표단으로 참여하였다.
노태우 전 대통령과 경북고등학교 동창생으로, 1980년 민주정의당 창당 발기인으로 참여하였으며, 1981년 민주정의당 소속으로 제11대 국회에 전국구 의원이 되었다. 제11대 국회에서는 외무위원회 위원으로 활동하였으며, 한·일 의원연맹 간사장 및 부회장, 한·일 친선협회 중앙회 간사장을 역임하기도 하였다.
1985년 2월에는 문화공보부 차관으로 임명되어, 제12대 국회의원에는 출마하지 않았고, 대통령 정무 제1수석비서관을 거쳐, 1987년 7월부터 1988년 2월까지 전두환 대통령 비서실장직을 수행하였다.
1988년 경상북도 군위·선산에서 제13대 국회의원으로 당선되었으며, 민주정의당 원내총무와 국회 운영위원장, 그리고 1990년 4월부터 10월까지 정무 제1장관직을 맡았다.
제13대 국회의 여소야대 상황에서 민주정의당 원내총무와 정무 제1장관으로서, 김원기·최형우·김용채 등 당시 야권 3당의 원내총무들과 함께 지방자치제 실시 협상을 이끌어 내기도 하였다. 1990년 3당 합당 이후에는 민주자유당 원내총무 및 사무총장을 지냈으며, 당시 민정계 국회의원들을 설득하여 ‘김영삼 대세론’을 확산시키는데도 앞장섰다.
1992년 민주자유당 후보로 경상북도 군위·선산 지역에서 제14대 국회의원으로 당선되었으며, 1992년 대선에서 김영삼 후보의 대통령 당선에 민정계를 이끌고 핵심적인 역할을 하였다. 이러한 이유로 김영삼 정부 출범 후, 민주자유당 내부에 민주계가 득세했을 때도 사무총장과 정무 제1장관직을 맡으면서 민정계의 수장 역할을 담당하였다.
제14대 국회에서는 외무통일위원회 위원으로 활동하였으며, 한·일 의원연맹 회장직을 수행하였다. 1995년 8월부터는 민주자유당 대표위원으로 임명되었고, 1995년 12월 민주자유당의 당명이 신한국당으로 변경되면서, 1996년 5월까지 초대 신한국당 대표위원직을 수행하였다.
제15대 국회의원 선거에서는 신한국당 경상북도 구미을 지역구에 출마하여 당선되었으며, 국회 통일외무위원회 위원, 신한국당 상임고문, 신한국당 나라회 고문직을 역임하였다. 1996년 7월에는 한·일 의원연맹 회장으로 재선되었고, 1996년 12월에는 과테말라에 대통령 특사로 방문하기도 하였다.
1997년 이회창 전 국무총리가 대통령 후보 경선에 참여하자, ‘비영남 후보론’을 내세워 이를 적극 지원하여 신한국당 대통령 후보로 당선시켰고, 1997년 10월 제16대 대통령 선거의 신한국당 중앙선거대책위원회 공동위원장에 임명되었다. 1997년 11월 신한국당과 민주당이 한나라당으로 합당하자, 한나라당 상임고문직을 맡았다. 1998년 4월부터는 한나라당 부총재로 임명되어 활동하였으며, 동년 5월 6·4지방선거 한나라당 대책위원회 부위원장으로 활동하였다.
2000년 제16대 국회의원 선거에서는 당시 이회창 한나라당 총재가 추진한 중진의원 청산 작업 과정에서 공천을 받지 못했고, 이에 2000년 2월 이기택, 김광일, 이수성, 박찬종, 조순 등 한나라당 공천 탈락자들과 연합하여 민주국민당을 창당하였다.
민주국민당 최고위원 겸 대구 경북지역 선대위원장을 맡으며 경상북도 구미시에 국회의원 후보로 출마하였으나 32%의 득표를 얻어 낙선하였다. 2000년 9월부터는 민주국민당 대표최고위원직을 맡아 당을 이끌었다.
이후 2002년 대통령 선거에서 영남후보론을 내세우며 이회창 후보의 반대편에 있다가 지지선언으로 입장을 철회한 후, 2003년 신장암으로 인한 건강 악화로 사망하였다.