본관은 원주(原州). 자는 중숙(重叔), 호는 두암(斗巖). 충청도병마절도사 김말손(金末孫)의 증손으로, 할아버지는 증 좌찬성 김안우(金安祐)이고, 아버지는 김형(金珩)이며, 어머니는 증 참판 김덕유(金德裕)의 딸이다.
1567년 생원시에 합격하고, 1568년 증광 문과에 을과로 급제해 예문관·홍문관의 정자(正字)를 역임하고, 사가독서(賜暇讀書: 문흥 진작을 위해 유능한 문신들에게 휴가를 주어 독서에 전념하게 한 제도)를 했으며 동부승지에 이르렀다.
1583년 병조판서 이이(李珥)를 탄핵한 삼사의 송응개(宋應漑)·허봉(許葑)·박근원(朴謹元) 등이 선조의 노여움으로 도리어 유배될 때 그들과 일당이라는 혐의를 받고 제주목사로 좌천되었다. 그러나 평소 이이를 존경했기 때문에 실제로 삼사의 논의에는 참여하지 않았다.
임지에 도착하자 성심껏 기민을 구휼하고 교육을 진흥시키며 민속을 바로잡았다. 그래서 뒤에 인조 때 김상헌(金尙憲)이 쓴 『남정록(南程錄)』이나 효종 때 이원진(李元鎭)이 쓴 『탐라지(耽羅誌)』에는 그 때의 치적을 칭송하는 글이 실려 있다.
2년 뒤 1585년 우승지로 기용되고 이어 대사헌·대사간·부제학·이조참판 등을 역임하였다. 1591년 성절사로서 명나라에 갔다. 마침 명나라에서는 일본의 국서를 받고 조선이 일본과 내통한다고 의심하는 자가 많았는데 이를 힘써 해명해 의구심을 풀어주었다.
귀국 후 한성판윤이 되었고, 다음 해 1592년 임진왜란으로 왕이 피난길에 오르자 유성룡(柳成龍)의 천거로 병조판서 겸 부체찰사(兵曹判書兼副體察使)가 되었다. 이듬해 1593년 이조판서로서 왕을 따라 환도, 1594년 우의정, 1595년 좌의정이 되어 영의정 유성룡과 함께 임진왜란 후의 혼란한 정국을 안정시켰다.
항상 나라를 복구하는 급선무는 군사를 훈련하고 성을 쌓는 것이 아니라 인심을 바로잡는 일이라고 역설하였다. 1597년 정유재란 때에는 안무사로서 영남 지방에 내려갔다가, 풍기(豊基)에서 병이 위독해져서 귀경 후 사직하고 이듬해 죽었다.
1604년 호성공신(扈聖功臣) 2등으로 원성부원군(原城府院君)에 추봉되었다. 시호는 충정(忠靖)이다.