1586년(선조 19) 알성 문과에 을과로 급제하고 권지성균학유(權知成均學諭)가 되었다. 이어 인천부교수(仁川府敎授), 예문관의 검열 · 대교(待敎) · 봉교(奉敎), 홍문관의 전적(典籍)을 거쳐, 감찰과 예조좌랑을 지냈다.
병조좌랑을 거쳐 1592년 임진왜란이 일어나자 선조를 호종하다가 호소사(號召使) 황정욱(黃廷彧)의 요청으로 종사관(從事官)이 되어, 함경도로 길을 바꾸었다가 국경인(鞠景仁)에 의해 임해군(臨海君) · 순화군(順和君) · 황정욱 등과 함께 결박되어 가토 기요마사[加藤淸正]의 포로가 되었으나 탈출하였다.
왕의 명령으로 행재소에 이르러 사헌부지평(司憲府持平) · 병조정랑 · 성균관직강(成均館直講)을 역임하고 명나라 장수 유정(劉綎)을 접대하였다. 다시 지평과 직강을 거쳐 삼남지역(三南地域)에 암행어사로 파견되어 민정을 살피고 돌아온 뒤 전수(戰守)의 계책을 아뢰었다. 이로 인해 제용감정(濟用監正)으로 승진하고, 경상감사에 발탁되었으나 대간의 반대로 내섬시정(內贍寺正)으로 바뀌었다.
그 뒤 경상우도감사로 내려가 삼가(三嘉)의 악견산성(嶽堅山城)을 수리하고 민심을 진정시켰다. 이어 동부승지 · 병조참의 · 비변사유사당상(備邊司有司堂上) · 승문원부제조(承文院副提調)를 겸하였다. 다시 병조참의 · 도승지 · 황해감사 · 함경감사가 되었으나 병으로 사직하고 있다가 평안감사로 나아가 평양 아전들의 환심을 얻었다. 판중추부사伸救)하고, 성혼(成渾)과 정철(鄭澈)을 헐뜯는 정인홍(鄭仁弘) 일파를 배척하다가 왕의 미움을 받았다. 이어 판윤(判尹)으로 비변사와 훈련도감의 제조를 겸하고, 형조판서 · 병조판서 · 지중추부사를 거쳐 함경감사로 나갔다.
다시 호조판서로 지의금부사를 겸하다가 경기감사가 되고, 그 뒤 우참찬을 거쳐 개성유수가 되었다. 1613년(광해군 5) 계축옥사가 일어나자 이에 연루되어 단양에 유배되었다. 그 후 다시 영해와 원주 등지로 옮겨지는 등 11년 간이나 귀양살이를 하다가, 1623년 인조반정으로 방환되었다. 이어 형조판서 · 대사헌 · 경연성균관사를 겸하고, 1624년 이괄(李适)의 난 때 왕을 호종하고 판중추부사 · 병조판서 등을 역임하였다.
1627년(인조 5) 정묘호란 때도 왕을 강화도까지 호종했고, 숭록대부(崇祿大夫)로 승격하였다. 학문을 즐겨 이인기(李麟奇) · 이호민(李好閔) · 이귀(李貴) 등과 남지기로회(南池耆老會)를 조직하여 역학(易學)을 토론했고, 서화(書畫)에도 뛰어났다. 영의정에 추증되고, 대구의 구암서원(龜巖書院)에 제향되었다. 저서로 『약봉집(藥峯集)』이 있다. 시호는 충숙(忠肅)이다.