본관은 김해(金海). 초명은 김응서(金應瑞), 자는 성보(聖甫). 용강에서 살았다.
일찍이 무과에 급제, 1588년(선조 21) 감찰(監察)이 되었으나 집안이 미천한 탓으로 파직되었다가, 1592년 임진왜란이 일어나자 다시 기용되었다. 그 해 8월 조방장(助防將)으로 평양 공략에 나섰으며, 싸움에서 여러 차례 공을 세워 평안도방어사에 승진되었다.
1593년 1월 명나라 이여송(李如松)의 원군과 함께 평양성 탈환에 공을 세운 뒤, 전라도병마절도사가 되어 도원수 권율(權慄)의 지시로 남원 등지에서 날뛰는 토적을 소탕하였다.
1595년 경상우도병마절도사가 되었을 때, 선조가 임진왜란이 일어난 지 이틀 만에 동래부에서 장렬하게 전사한 송상현(宋象賢)의 관을 적진에서 찾아오라고 하자 그 집 사람을 시켜 일을 성사시켰다. 또한, 이홍발(李弘發)을 부산에 잠입시켜 적의 정황을 살피게 하고, 일본 간첩 요시라[要時羅]를 매수해 정보를 수집하기도 하였다.
1597년 도원수 권율로부터 의령의 남산성(南山城)을 수비하라는 명을 받았지만 불복해 강등되었다. 그 뒤 1603년 충청도병마절도사로 군졸을 학대하고 녹훈(祿勳)에 부정이 있어 파직되었다가, 1604년 전공을 인정받아 포도대장 겸 도정(捕盜大將兼都正)이 되었다.
1609년(광해군 1) 정주목사를 지내고, 이어 만포진첨절제사(滿浦鎭僉節制使)와 북로방어사(北路防禦使)를 역임하고, 1615년 길주목사, 1616년 함경북도병마절도사, 2년 뒤에 평안도병마절도사가 되었다.
그 때 명나라에서 임진왜란 이후 세력이 강성해진 건주위(建州衛)의 후금 정벌을 위해 원병을 요청하자, 평안도병마절도사로 부원수가 되어 원수 강홍립(姜弘立)과 함께 출전하였다.
그리하여 이듬해 심하(深河) 지방에서 전공을 세웠으나, 살이호[薩爾滸]의 전투에서 명나라 군사가 대패하고 선천군수 김응하(金應河), 운산군수 이계종(李繼宗) 등이 전사하자 강홍립과 함께 후금에게 부득이하게 출병했음을 알리고 잔여병과 함께 투항하였다.
포로가 된 뒤 비밀리에 적정을 탐지한 기록을 고국에 보내려 했으나 강홍립의 고발로 탄로나 처형되었다. 우의정에 추증되고 향리에 정문이 세워졌다. 시호는 양의(襄毅)이다.