본관은 청풍(淸風). 자는 이정(以定). 군자감판관 김비(金棐)의 증손으로, 할아버지는 참봉 김흥우(金興宇)이고, 아버지는 김육(金堉)이며, 딸은 현종의 비이다.
1642년(인조 20) 진사시에 합격하여, 강릉참봉·세마(洗馬) 등을 역임하였다.
1659년 현종이 즉위하자 국구(國舅)로서 청풍부원군(淸風府院君)에 봉하여졌다. 1616년 영돈녕부사가 되고 이어 오위도총관과 호위대장을 겸직하였다. 송시열(宋時烈)과 같은 서인이었으나 민신(閔愼)의 대부복상문제(代父服喪問題: 실성한 아버지 대신 손자가 상주가 된 것에 대한 대립문제)를 계기로 남인인 허적(許積)에 동조하였다.
또한, 숙종 초에 복창군(福昌君) 이정(李楨)·복평군(福平君) 이남(李枏) 형제가 궁중에 드나들면서 궁녀들을 괴롭힌 사실을 들어 이들의 처벌을 상소하였다. 그 뒤 남인 윤휴(尹鑴)·허목(許穆) 등과 알력이 심하여짐으로써 벼슬을 그만두고 두문불출하였다. 시호는 충익(忠翼)이다.