1603년(선조 36) 주2에 급제해, 1606년 선전관이 되고, 고원군수 · 갑산부사 등을 지냈다. 광해군과 대북 세력의 정치에 반감을 지니고 있던 중 1620년(광해군 12) 이서(李曙) · 신경진(申景禛)의 반정 모의에 참여했다.
1621년 진도군수가 되었고, 1623년(인조 1)의 반정에는 미처 한양에 도달하지 못해 참여하지 못했으나, 처음부터 계획을 세운 공로로 정사공신(靖社功臣) 2등에 책록되고 능천군(綾川君)에 봉해졌다.
반정 뒤 통제사 · 한성부윤을 거쳐, 1627년 정묘호란으로 인조가 강화도로 피난했을 때는 주사대장(舟師大將)이 되었다. 전라병사 · 포도대장을 거쳐 충청병사 · 수원방어사 등을 역임했다. 1636년 병자호란 때는 군사 3,000명을 거느리고 남한산성에 들어가 국왕을 호위했으며, 그 공으로 어영대장이 되었다.
전후로 도총부도총관 · 비변사제조 · 판의금부사 등을 겸임했으며, 1644년에는 심기원(沈器遠)의 모역 사건을 적발, 처리한 공으로 영국공신(寧國功臣) 1등에 책록되고 능천부원군(綾川府院君)에 봉해졌다.
인조 말년에는 수 차례의 병조판서를 비롯해, 형조 · 공조의 판서와 수원부사 · 훈련대장 등을 두루 역임했다. 1652년(효종 3) 판의금부사 · 홍청도병마절도사(洪淸道兵馬節度使)가 되고, 이듬해 우의정이 되었다.
1654년 사은사로 청나라에 다녀온 뒤, 소현세자빈(昭顯世子嬪)으로서 처형당한 강씨(姜氏)의 신원을 요구하다 죄를 입은 김홍욱(金弘郁)을 옹호하다가 삭직당했으나 곧 복관되고 좌의정에 올랐다.
공신인 동시에 인조의 외척으로서, 당시 공신들간의 대립이나 공신들과 일반 사류들 사이의 대립에 대해 신중한 태도를 취함으로써 별다른 기복 없이 정치적 위치를 지킬 수 있었다. 시호는 충무(忠武)이다.