본관은 전주(全州). 자는 유초(有初), 호는 쌍호당(雙壺堂). 종실 경명군 이침(景明君 李忱)의 후손으로, 아버지는 사헌부집의(司憲府執義) 이제형(李齊衡)이며, 어머니는 남두명(南斗明)의 딸이다.
1650년(효종 1) 사마시에 합격해 진사가 되고 문음으로 입사해 통덕랑에 이르렀다가, 1660년(현종 1) 증광 문과에 을과로 급제, 곧 승문원에 배속되었다. 1662년 정언(正言)이 되어 동지사(冬至使)의 서장관으로 청나라에 다녀왔으며 그 곳 정세에 대한 상세한 문견록을 작성해 올려 포상되었다. 이어 정언·지평을 번갈아 지내다가 1667년 시정(時政)의 득실을 논한 내용이 받아들여지지 않자 일시 사직하였다.
2년 후 정언으로 다시 기용되었고, 사간·집의 등을 거쳐 1673년 동부승지에 발탁되었다. 이어서 육조의 참의를 번갈아 역임하다가 숙종 초에 양주목사·장단부사·광주부윤(廣州府尹) 등을 지냈다. 1678년(숙종 4) 경상도관찰사가 되어 오리(汚吏: 청렴하지 못한 관리)를 숙청해 수령들의 기강을 바로잡았고, 2년 후에 동지부사로 청나라에 파견되었다.
귀국 후 곧 전라도관찰사를 거쳐 성천부사가 되었다가 문무를 겸비했다 하여 북병사로 교체되었다. 이 때 숙의방(淑儀房)에 진상을 지나치게 하고 진상 문서에 신(臣)을 칭한 일을 계기로, 사헌부에서 전라도관찰사 때의 비행 및 형제를 보살피지 않은 점까지 들추어 계속 탄핵하는 바람에 파직되었다.
그 뒤 충청·함경도 관찰사를 거쳐 형조참판에 임명되었으나, 평소 준엄한 언사(言辭)로 남의 미움을 많이 받아 나주목사로 좌천하게 되었다. 이 일은 왕의 적극적인 비호로 무마되었으나 본인은 이 때문에 병을 얻어 죽었다.
평소 치산(治産)에 힘쓰지 않아 가족이 궁핍했을 정도로 당시 청백리로 이름났었다. 이조판서·대제학 등에 추증되었다. 영광의 장천사우(長川祠宇)에 제향되었다.