본관은 청풍(淸風). 자는 경진(景進), 호는 후추(後瘳). 할아버지는 김사원(金士元)이고, 아버지는 현감 김급(金汲)이며, 어머니는 임보신(任輔臣)의 딸이다.
1591년(선조 24) 생원이 되고, 이듬해 임진왜란이 일어나자 영남에서 의병 1,000여 명을 모아 분전해 많은 전과를 올렸으며, 그 공으로 참봉이 되었다.
1593년 별시 문과에 병과로 급제하고, 예문관검열(藝文館檢閱)을 거쳐 도원수 권율(權慄)의 종사관으로 공문서의 일을 관장하였다. 그 뒤 춘추관의 사관(史官)이 되어 전란으로 소실된 일록(日錄)을 보충하기 위해 사료의 수집을 간청하였다.
1597년 정유재란 때에는 군기선유관(軍機宣諭官)으로 엄정하게 군공을 논정하였다. 그 뒤 정언(正言)을 거쳐 1599년 사복시정(司僕寺正)이 되었고, 어사로서 관서지방을 순무하였다.
북인(北人)이 대북(大北)과 소북(小北)으로 갈라지자 소북의 영수로 대북과 대립하다가 관직이 삭탈되어 충주에 은거하고, 선현의 언행사적(言行事績)을 적은 『경현록(景賢錄)』을 편찬하였다.
1608년 보덕(輔德)으로 기용되고, 광해군 때 사간을 지냈다. 1613년(광해군 5) 임해군(臨海君)의 옥사에 관한 공으로 익사공신(翼社功臣)이 되고 청릉군(淸陵君)에 봉해졌으며, 평안도관찰사·우참찬·호조판서를 지냈다.
1623년 인조반정으로 광해군 때의 훈작(勳爵: 공훈으로 얻은 관작)을 삭탈당했으나 그 뒤 다시 평안도관찰사로 기용되었다. 이 때 후금과의 관계가 악화되자 이에 대비해 평양성의 수축과 군량의 비축 등에 힘썼다. 이듬해 이괄(李适)의 난에 연좌되어 국문(鞫問)까지 당했으나 혐의가 없어 무사하였다.
1627년(인조 5) 정묘호란 때는 호조판서로 이정구(李廷龜)와 함께 금나라의 사신과 화약을 맺었다. 공조·형조의 판서를 거쳐 1636년 병자호란 때는 인조를 모시고 남한산성에 들어가서 끝까지 항전할 것을 주장하였다.
이듬 해 세자시강원의 이사(貳師)가 되어 볼모로 가는 소현세자(昭顯世子)를 배종해 심양(瀋陽)에 갔다가 1640년에 귀국해 기로소에 들어갔다. 1646년에는 영중추부사(領中樞府事)가 되었다.