본관은 안동(安東). 자는 여윤(汝潤). 군자감정(軍資監正) 김공연(金公衍)으로, 할아버지는 증 참의 김계현(金繼賢)이고, 아버지는 진사 김낙서(金洛瑞)이며, 어머니는 전의이씨(全義李氏)로 병절교위(秉節校尉) 이희담(李希聃)의 딸이다.
1609년(광해군 1) 진사가 되고 1615년 식년 문과에 병과로 급제, 승문원(承文院)에 등용된 뒤 폐모론에 가담하지 않아 7, 8년 뒤 겨우 봉상시주부(奉常寺主簿)에 머물렀다.
인조반정 후 부안현감·예조정랑·병조정랑·성균관사예(成均館司藝)·예빈시정(禮賓寺正)·장악원정 등을 역임하고 1628년(인조 6)에 영천군수를 거쳐 성천부사가 되었다.
1636년 병자호란이 일어나자 성천부사로서 흩어진 관병을 정렬하여 관찰사 홍명구(洪命耉)에게 예속시키고 의병을 모집하여 적의 진로를 막고 항거하다가 전사하였다.
그 뒤 홍명구의 아들 홍중보(洪重普)의 주선으로 조정에서는 이조판서를 추증하고 정려문을 세웠다. 그러나 현종 때 허적(許積)이 성천부사를 지낼 때 행적이 모호하다고 하여 정표(旌表)를 환수하였다.
1680년(숙종 6)에 허적이 처형된 뒤 아들 김세보(金世輔) 등 삼형제의 상소로 다시 정표문제가 제기되어 좌찬성에 추증되었다. 시호는 민숙(愍肅)이다.