1626년(인종 4) 별시문과에 병과로 급제했으나 파방(罷榜)되고, 1628년 다시 별시문과에 장원으로 급제하여 시강원사서가 되었다. 이듬해 조경(趙絅) 등과 함께 호당(湖堂)에서 사가독서(賜暇讀書)를 한 뒤 헌납 · 수찬 · 교리 등을 지냈다.
1635년(인조 13) 감시관(監試官)이 되었으나 과장(科場) 부정사건이 일어나 한때 파직되었다가, 최명길(崔鳴吉)의 추천으로 다시 조정에 돌아왔다. 1636년 병자호란 직전에는 척화내수책(斥和內修策)을 강력히 주장하고, 그 해 겨울 영남지방의 점병관(點兵官)으로 내려갔다가 호란의 소식을 듣고 여러 영병(營兵)을 모아 싸우게 했으나 실패하였다.
병자호란 이후 이조정랑을 거쳐 집의로 있을 때 지난 날 척화인의 죄적(罪籍)에 들지 못함을 여러 차례 상소하여 끝내 파직을 자초하였다. 1638년 한때 진주 · 안변 등지의 수령을 지내고, 다시 내직으로 돌아와 교리 · 장령 · 사간 · 전한 · 승지 · 이조참의 등의 청요직을 지내면서, 원손의 심양(瀋陽) 인질을 적극 반대하고 강화도 사절자(死節者)의 부모처자에 대한 구제책의 강구를 주장하였다.
또한, 여러 차례 여러 궁가(宮家)나 아문(衙門)이 차지하고 있던 염분(鹽盆) · 어전(魚箭) 등의 혁파로 국가 재정을 충실하게 해야 된다는 등의 많은 업적도 남겼다. 1646년 대사성이 되고, 부제학을 거쳐 대사간이 되었다가 다시 이조참의가 되었다. 1649년(효종 1) 김상헌의 적극적인 추천으로 양관 대제학이 되어 『인조실록』 편찬의 책임을 맡았다.
이어 대사간 · 대사헌을 여러 차례 지냈는데, 1650년 이경억(李慶億)이 왕에게 여색을 멀리하라고 건의하다가 미움을 사자 이를 적극 신구(伸救)하다가 파직되어 임천(林川)으로 귀양갔다.
이 후 김육(金堉) 등의 신구로 이듬해에 풀려났다. 1651년 동지중추부사(同知中樞府事)가 된 뒤 대사간 · 동지성균관사(同知成均館事) · 대사헌을 거쳐 이조참판이 되었으나, 판서인 정세규(鄭世䂓)를 비방하다가 호당(護黨)의 혐의로 영암으로 귀양갔다가 뒤에 강계로 옮겨졌으나 이듬해 풀려났다.
1653년 대사성이 되고, 곧 이어 대사헌과 좌부빈객(左副賓客)까지 겸하였다. 그러나 다시 서원리(徐元履)와 뜻이 맞지 않아 다투다가 종성부사로 밀려났다. 성균관 유생 및 좌의정 이시백(李時白) 등의 간청으로 동지중추부사로 전임되어 부임한 지 얼마 되지 않아 죽었다.
오래도록 문형(文衡)을 장악하고 대간의 지위에 있었으며 성균관의 책임도 맡고 있었다. 그러나 일을 당하여 진언하기를 피하지 않아 때로 왕의 뜻에 거슬려 남북으로 귀양갔으나 소신을 굽히지 않는 이정개결(怡靜介潔: 온화하면서 조용하고 절개가 있으면서 깨끗함)한 인물로 당시 사림들의 추앙을 받았다.
좌찬성에 추증되고 금천(金川)의 도산서원(道山書院), 안변의 옥동서원(玉洞書院), 종성의 종산서원(鍾山書院)에 제향되었다. 청백리에 녹선되었다. 저서로 『낙정집』이 있다. 시호는 문효(文孝)이다.