본관은 안동(安東). 자는 돈미(敦美), 호는 사휴정(四休亭)·만은(晩隱). 김석(金錫)의 증손으로, 할아버지는 김인갑(金仁甲)이고, 아버지는 김시양(金時讓)이며, 어머니는 이대수(李大遂)의 딸이다.
1642년(인조 20) 식년 문과에 병과로 급제하여 봉교로 임명되고, 같은 해 홍문록에 올랐다. 1646년 민회빈 강씨(愍懷嬪姜氏)가 사사되자 정언으로 있으면서 일반 사림의 자격으로 그 경위를 규명하라는 소를 올렸다가 파직되었다.
1649년 효종이 즉위하자 부수찬에 기용되었고, 그 뒤 이조좌랑·이조정랑·교리·응교·헌납·사간·집의 등을 역임하였다. 현종연간에는 충청도관찰사·도승지·함경도관찰사·경상도관찰사·강화유수·황해도관찰사 등을 역임하였다.
1666년(현종 7) 남인의 탄핵으로 삭직되었으나, 그 뒤 복직되어 1668년 형조참판을 거쳐서 대사헌이 되었다. 숙종이 즉위한 뒤 1675년 이조판서에 올랐고, 이듬해에 예조판서·개경유수를 역임하였으며, 그림을 매우 잘 그렸다.