1935년 7월 5일 충청남도논산군(현 논산시) 양촌면에서 아버지 김영봉(金永奉, 1905. 12. 21 ~ 1984. 1. 9)과 어머니 서촉 명씨[3]
명배숙(明培淑)의 딸이다.
사이에서 두 아들 중 장남으로 태어났다. 논산양촌초등학교, 논산연산중학교, 공주농업고등학교(현 공주생명과학고등학교), 중앙대학교법학과를 졸업하였다. 이후 대한일보에서 정치부 기자, 논설위원을 역임하였다.
1971년 제8대 국회의원 선거에서 신민당 후보로 충청남도 논산군 선거구에 출마하여 민주공화당양순직 후보를 꺾고 당선되었다. 1972년 10월 유신 선포 후 유신에 반대했다는 이유로 같은 신민당 국회의원이었던 조윤형, 김상현, 이세규, 강근호, 이종남, 김경인, 김녹영, 류갑종, 조연하, 최형우, 나석호, 박종률 등과 군부대 등에 끌려가서 고문당하였다. 그리고 3년 동안 옥고를 치렀다. 1975년 출소한 후에도 신민당 당원으로 활동하였다. 1979년 5월 신민당 전당대회 때는 부의장직을 수행하였다.
1985년 제12대 국회의원 선거에서 신한민주당 후보로 충청남도 논산군·공주군 선거구에 출마하여 민주정의당정석모 후보와 동반 당선되었다. 당선 후 당직개편에서 신한민주당 사무차장에 임명되었다. 1987년 신한민주당을 탈당하여 통일민주당에 입당하였다. 김영삼보다 김대중과 더 가까운 사이였으나 김대중이 평화민주당을 창당할 때 합류하지 않았다.