본관은 우계(羽溪). 자는 윤보(潤甫), 호는 송곡(松谷). 이성헌(李成憲)의 증손으로, 할아버지는 이길남(李吉男)이고, 아버지는 이경항(李慶恒)이며, 어머니는 이경유(李慶礻+谷)의 딸이다. 당색으로는 대북계열의 집안에서 태어났다.
1651년(효종 2) 생원시를 거쳐 1660년(현종 1) 성균관유생으로 과제(課製)에 1등하여 바로 전시에 응시할 수 있는 자격이 주어졌으며, 그해의 증광문과에 갑과로 급제하였다. 1675년(숙종 1) 문장에 재주가 있다 하여 허목(許穆)의 추천을 받았다. 같은해 정언이 되어 인조반정 이후 대북가문출신으로는 처음으로 청직(淸職)에 올랐다.
서인 송시열(宋時烈)의 예론과 그것을 따르는 김수항(金壽恒)을 공격하였으며, 7월에는 대신을 공격하는 이수경(李壽慶)을 두호하다 파직당하였다. 1676년 서장관으로 청나라에 다녀왔다. 남인으로 생활하다 1680년 경신환국 때 서인의 공격을 받아 유배당하였으나, 1689년의 기사환국으로 남인이 정권을 잡자 병조참의로 등용되었다.
그 뒤 김수항 등 서인을 공격하였으며, 인현왕후(仁顯王后) 축출 때 승지로 있으면서 숙종의 뜻을 받들었다. 1691년 함경도관찰사로 나갔다가 인삼에 대한 행정처리 잘못으로 삭직당하였다. 이듬해 목내선(睦來善)에 의하여 문장으로 천거받아 예문관제학이 되었으며, 그 이듬해 황해도관찰사로 나아갔다.
1694년 갑술환국이 일어나자 삭출당하였다가 1697년에 풀려났다. 그 해 남인을 등용하는 정책을 펴던 최석정(崔錫鼎)에 의하여 청백함을 인정받아, 서용하라는 명령이 임금으로부터 내려졌으나 현직에 나아가지는 못하였다.