본관은 안동(安東). 자는 숙진(叔珍), 호는 눌암(訥菴). 할아버지는 김려(金濾)이고, 아버지는 형조참의 김언침(金彦沈)이며, 어머니는 전의 이씨(全義李氏)로 장사랑(將仕郞) 이응진(李應軫)의 딸이다.
1567년(명종 22)에 진사가 되고, 1568년(선조 즉위년) 식년 문과에 을과로 급제해 승문원에 들어갔다. 1570년에 검열이 되고, 이 후 대교(待敎)·봉교(奉敎)·전적(典籍)·형조정랑·검상(檢詳)·사인(舍人)·이조정랑 등의 관직과 지평(持平)·집의(執義)·정언(正言)·헌납(獻納)·사간·수찬(修撰)·교리(校理)·응교(應敎) 등 삼사의 관직을 두루 역임하였다.
특히, 1573년 평안 삼도사로 나가 군적(軍籍)을 정리했으며, 다음 해에는 평안도 순무어사로 활약하였다. 1584년 이후로는 전한(典翰)·직제학(直提學)·승지·좌참찬·동지중추부사·대사헌·대사간·대사성·경기도관찰사 등을 역임하였다.
1592년 임진왜란이 일어났을 때 임금의 파천을 반대했으며, 임금 일행이 개경에 이르자 동인(東人) 이산해(李山海)의 실책을 탄핵해 영의정에서 파직시키고, 백성들의 원성을 샀던 김공량(金公諒)을 공격하는 데 앞장섰다.
뒤에 정철(鄭澈) 밑에서 체찰부사(體察副使)를 역임하고, 양호조도사(兩湖調度使)로 전쟁 물자를 지원했으며, 접반사(接伴使)로서 명나라와의 외교를 담당하였다. 또, 일본과 강화 회담을 벌일 때 이덕형(李德馨)과 함께 공을 세웠다.
1597년 정유재란 때부터 예조판서·지의금부사·대사헌·이조판서를 지냈고 지돈녕부사를 거쳐 우참찬까지 승진하였다. 대사헌 때 가족을 멀리 피난시켰다는 탄핵을 받고 체직되는 등 소소한 정치적 부침을 겪기도 했으며, 문장가로도 이름이 높았다.
경제 문제에 밝고 외교적 수완이 뛰어난 명신이었다. 임진왜란이 지난 뒤 전쟁의 수습 과정에서 사망하자, 선조는 조회를 정지하고 추모의 뜻을 표시하였다. 시호는 효헌(孝獻)이다.