1627년(인조 5) 생원이 되었다. 1636년 별시 문과에 급제하였다. 그러나 합격자 발표가 미뤄지고 , 병자호란으로 외할아버지인 심현을 따라 강화도로 피난하였다. 예문관 검열 · 봉교, 성균관 전적, 사헌부 감찰, 사간원 정언, 병조좌랑을 역임하였다. 홍문관 수찬에 제수되었지만 외직을 구해 안음(安陰) 현감이 되었다. 1644년 중앙으로 복귀해 수찬, 1645년 부수찬, 이조좌랑을 역임하였다. 김자점(金自點)의 아들 김식(金鉽)에 대한 정랑 천거를 거절하였다. 인조 사후 춘천 부사에 제수되었다.
1653년(효종 4) 승지로 있을 때에 남인의 공격으로 1653년 9월에서 1654년 11월까지 유배에 처해졌다. 처음에는 함경남도 삼수군이었는데 재상들이 그를 위해 상소를 올려 유배지를 흥해(興海, 지금의 포항)로 바꾸었다.
1658년 상주목사에 이어 강원도관찰사를 지냈다. 1663년 이조참판, 대사헌을 지냈고, 궁가(宮家) 소유 경작지에 대한 면세(免稅)의 잘못과 아문(衙門)이 산택(山澤)을 점유(占有)하는 폐단을 건의하였다. 율곡 이이와 우계 성혼의 문묘 종사(從祀)를 요청하였다. 1664년(현종 5) 이조판서, 형조판서에 이어 이듬해 대사헌이 되었고, 예조판서와 한성부판윤 등을 역임하였다. 1671년 개성유수로 재직 중 관청에서 사망하였다.
서인 계열이었지만 권력 중심에서 벗어나 있었으며, 많은 문학작품을 남겼다. 어릴 적부터 시재(詩才)가 뛰어났다. 관료로서도 뛰어난 성과를 거두었다. 택당(澤堂) 이식(李植)과 남계(南溪) 조정호(趙廷虎) 대제학 [조석윤의 부친]을 스승으로 생각하였다. 김득신(金得臣)이 평생 가까운 친구였다. 박장원이 김득신의 부친 김치(金緻)에게 수학하면서 알게 되었다. 그 외 정두경, 심동구, 장유와 가까웠다. 남구만 역시 그를 “인품이 소탈하고 과묵하고 안정되며 영화와 이익에 관심이 없고 문학이 뛰어나며 정사에 통달하였다.”라고 평가하였다.