본관은 광산(光山). 자는 여남(汝南). 할아버지는 김장생(金長生)이고, 아버지는 참판 김반(金槃)이며, 어머니는 연산서씨(連山徐氏)로 서주(徐澍)의 딸이다. 김익희(金益熙)의 아우이다.
1635년 생원·진사 양시에 합격하였는데, 각각 1등과 3등으로 합격하였다. 1636년 후금의 태종이 국호를 청으로 고치자 이를 축하하기 위하여 춘신사(春信使)로 파견된 나덕헌(羅德憲)·이확(李廓) 등이 청나라 사신 용골대(龍骨大)와 함께 귀국하자, 성균관 유생들과 함께 청나라의 경축행사에 참가한 사신과 용골대의 주살(誅殺)을 주장하였다. 이 말을 들은 청나라의 사신이 급히 서둘러 돌아갔다는 일화로 유명하다.
병자호란이 일어나자 강화로 가서 섬을 사수하며 항전을 계속하였다. 그러나 전황이 불리해지고 고전을 하는 중에 강화유도대장(江華留都大將)인 김상용(金尙容)이 남문에 화약궤를 가져다 놓고 그 위에 걸터앉아 자분(自焚: 화약을 폭발시켜 스스로 목숨을 끊음)하려고 하였다.
이에 영의정을 지냈던 윤방(尹昉)이 이 사실을 알고 달려와서 애써 만류하였으나, 김상용·권순장(權順長)과 함께 끝내 자분하고 말았다. 이때 강화에서 순절한 사람은 모두 30명이 넘었다. 뒤에 영의정으로 추증되고 광원부원군(光源府院君)에 추봉되었다. 강화 충렬사에 제향되었으며, 시호는 충정(忠正)이다.