본관은 안동(安東). 자는 회경(晦卿), 호는 동림(東林). 김생해(金生海)의 증손으로, 할아버지는 김극효(金克孝)이고, 아버지는 장단부사 김상관(金尙寬)이며, 어머니는 남응정(南應井)의 딸이다. 김상헌(金尙憲)의 조카이다.
1623년(인조 1) 참봉이 되었고 이듬해 알성문과에 을과로 급제하였다. 1625년 세자시강원설서(世子侍講院說書)가 되었으며 예문관검열(藝文館檢閱)을 거쳐, 이듬해 정언(正言)을 역임하였다. 1630년에 교리가 된 뒤 헌납(獻納)·수찬(修撰)을 차례로 역임하였다.
1636년 병자호란 때 체찰사(體察使)의 종사관으로서 호남을 순찰하였으며, 이듬해 이조정랑이 되었다. 1638년에는 집의(執義)에 임명되었으며 검상·사인(舍人)·광주목사(光州牧使)를 거쳐서, 1640년에 예문관응교·동부승지 등을 역임하였다. 뒤에 영의정에 추증되었다.