본관은 상주(尙州). 자는 경화(景和), 호는 성옹(醒翁). 김형(金衡)의 증손으로, 할아버지는 증 좌승지 김장수(金長琇)이고, 아버지는 증 이조참판 김홍(金洪)이다. 형이 정랑 김덕겸(金德謙)이다.
어릴 때 부모를 잃었으나 스스로 문예에 힘써 1587년(선조 20) 생원시에 합격하고 이듬해 다시 진사가 되었으며, 1589년 증광 문과에 병과로 급제하였다. 이후 관직 생활을 하는 동안 여러 번 이항복(李恒福)의 후원을 받았다.
1592년 임진왜란이 일어나자 연안(延安)에서 초토사 이정암(李廷馣)을 도와 의병을 모집하고 군량을 조달하는 일을 맡았다. 이듬해 행재소인 정주까지 왕을 호종, 그 공으로 공조좌랑이 되었다.
1594년 임시로 군공청(軍功廳)을 세워 전쟁의 공과를 실시할 때 비변사낭청을 제수받았다. 이 밖에 예조와 공조의 좌랑과 비변사낭청·호조정랑·직강·사예 등의 중앙관직과 선천·청풍·단천·성천·장단·안주의 지방관을 역임하였다.
1597년 일본의 재침으로 분조(分曹)가 세워지자 호조정랑으로서 분호조정랑(分戶曹正郞)을 겸임해 군량 조달에 힘썼다.
광해군 때 군기시정에 이르렀으나 1617년(광해군 9) 인목대비(仁穆大妃)에 대한 폐모론이 일자 이항복·정홍익(鄭弘翼)의 의견을 좇아 반대하다가 남해(南海)에 유배되었으며, 명천·온성·사천 등지에 이배되었다.
1622년 인조반정으로 풀려나 집의와 예조·병조·형조·공조의 참의와 승지·부제학·대사성·대사간·여주목사·춘천부사를 거쳐 1636년 대사헌에 올랐다. 이 때 왕에게 사치를 경계하고 김공량(金公諒)의 신원을 반대해 인조의 미움을 사기도 하였다.
1627년 정묘호란 때는 호소사(號召使)로 활약했으며 청나라에 대한 척화를 강력히 주장하였다. 청백리로 뽑혔으며 이조판서에 추증되었다.
문집으로 『성옹유고(醒翁遺稿)』가 전한다. 사천의 구계서원(龜溪書院), 온성의 충곡서원(忠谷書院), 배천의 문회서원(文會書院), 북청의 노덕서원(老德書院), 안주의 청천사(淸川祠)에 제향되었다. 시호는 충정(忠貞)이다.