본관은 전의(全義). 자는 백상(伯祥). 이중기(李重基)의 증손으로, 할아버지는 이행건(李行健)이고, 아버지는 황해도관찰사 이만웅(李萬雄)이며, 어머니는 달성위(達城尉)서경주(徐景霌)의 딸이다. 송시열(宋時烈)의 문인이다.
1674년(현종 15) 갑인예송이 벌어지고 송시열을 죽이라는 탄핵이 빗발쳤을 때 감히 변호하려는 사람들이 없자 직접 유생들을 모아 항의하는 소를 올렸다. 그러나 뜻을 이루지 못하고 송시열은 덕원부로 유배되었다.
1680년(숙종 6) 도원찰방(桃源察訪)에 제수되었으나 취임하지 않다가 1684년 정시 문과에 병과로 급제하였다. 예조·병조의 좌랑을 거쳐 삼사에 들어가 정언(正言)·부수찬(副修撰)·지평(持平) 등을 지냈다.
1686년 7월 부교리로 있으면서 희빈 장씨(禧嬪張氏)의 어머니를 비롯한 외척들의 궁궐 출입에 대한 비위사실을 극간하고, 희빈 장씨를 쫓아내 여총(女寵)의 화를 막아야 한다는 상소를 올렸다가 파직되었다.
1689년 기사환국으로 많은 조신들이 죽거나 유배되었을 때 남해로 유배되었다. 1694년 4월 적거(謫居) 6년 만에 갑술옥사가 일어나고 희빈 장씨가 쫓겨나자 귀양에서 풀려 돌아왔다. 다시 관직에 기용되어 수찬·이조정랑·응교·집의·부승지·이조참의·대사간 등을 지내고, 1695년 황해도관찰사가 되어 나갔다.
그 때 마침 흉년을 만나 굶어 죽은 자가 속출하자 지방 관리의 녹봉 지급을 파하고 어장세(漁場稅)를 금지시켜 모든 이익을 민간에게 베풀어 굶주린 난민들을 구휼하였다. 그 밖에도 여러모로 선정을 베풀었으므로 도민이 크게 기뻐해 백년 이래 으뜸가는 선치라고 칭찬했다 한다.
그 뒤 판결사가 되었다가 다시 이조참의·대사간 등을 거쳐, 평안도관찰사로 있으면서 사송(詞訟)을 올바르게 처리하고 불법 호활(豪猾 : 세력있고 교활함)한 무리들을 가차없이 처벌, 단속했으며 오랜 민원들을 풀어나가 이름이 높았다. 그 뒤 예조·형조의 참판과 대사성 등에 제수되었으나 취임하지 않았고, 1698년 경기도관찰사에 제수되었으나 병으로 출사하지 못하였다.