1601년(선조 34) 사마시에 합격해 진사가 되고, 1606년 증광 문과에 병과로 급제해 승문원권지부정자에 올랐다. 이후 1609년(광해군 1) 승문원주서 겸 시강원설서, 1610년 홍문관정자 · 봉교, 이듬해 전적 · 호조좌랑 · 수찬 · 병조좌랑 겸 지제교 등을 역임하였다.
1613년 병조정랑으로 승진했으나 이이첨(李爾瞻)이 득세해 이른바 계축옥사를 도모하자, 이에 연루된 서성(徐渻)과 친분이 있다는 이유로 수성찰방(輸城察訪)으로 나갔다가 파직되었다. 그 뒤 황해도도사로 복직되고, 다시 병조정랑이 되어 접반관(接伴官) · 진휼종사관(賑恤從事官) · 평안도경차관(平安道敬差官) 등을 겸하였다.
1617년에는 회답사(回答使) 오윤겸(吳允謙)을 따라 종사관(從事官)으로 일본에 다녀오기도 하였다. 1618년 폐모론에 반대해 사직하고, 약 5년여를 고향에 내려가 지냈다. 이후 1622년 명장(明將) 모문룡(毛文龍)이 가도(椵島)에 주둔하자 백의종군했으며, 곧이어 철산부사가 되어 모문룡의 신임을 얻었고, 인조반정 이후 형조참의 · 의주부윤이 되었다.
또한, 이괄(李适)의 난이 일어나자 전라도절도사로 여산(礪山)으로 가, 병사들을 모으고 난군 진압에 힘썼다. 그 공으로 가선대부(嘉善大夫)로 품계가 오르면서 수원부사가 되었다. 1626년(인조 4) 부총관 · 장례원판결사를 거쳐 병조참판 겸 동지의금부사 · 도체찰찬획사(都體察贊畫使) · 비변사유사당상이 되었다.
1627년 정묘호란 때는 병조참판으로 왕을 강화도에서 호종하고 강화가 성립될 때 접반사로 활약, 환도 이후 호조참판이 되었다. 1629년 도체찰부사(都體察副事)로서 모문룡 병사의 동향을 파악하기에 노력했으며, 호조참판 · 경기도관찰사를 거쳐 1634년 도승지가 되었다.
1636년 병자호란 때는 부호군으로 비변사당상을 겸해 남한산성으로 왕을 호종했고, 화의가 성립된 뒤 호조판서가 되었다. 그러나 영의정 김류(金瑬)와의 불화로 일시 정직되었다가 다시 도승지 · 강릉부사 · 동지중추부사 겸 경도총관을 지냈다. 1640년 강화유수로 있다가 병으로 죽었다.
관료로서 재주가 있고 품위가 준수했으며, 특히 사부(詞賦)와 글씨가 뛰어났다. 좌의정에 추증되었으며, 시호는 효민(孝敏)이다.