본관은 선산(善山). 자는 재이(載而). 김경직(金敬直)의 증손으로, 할아버지는 김종필(金宗泌)이고, 아버지는 김시헌(金時獻)이며, 어머니는 황도형(黃道亨)의 딸이다.
1682년(숙종 8) 증광 문과에 병과로 주1, 사간원에 들어갔다.
1689년 오두인(吳斗寅) · 박태보(朴泰輔) 등과 함께 인현왕후(仁顯王后) 폐출의 부당성에 대한 소를 올린 바 있다. 1694년 갑술옥사로 남인이 몰려나고 서인이 정권을 잡자, 사헌부에 발탁되어 우의정 최석정(崔錫鼎)의 삭탈관작을 주2 훈련대장 신여철(申汝哲)의 추고를 청하는 등 강경한 언론을 많이 행사하여 여러 번 체직당하기도 하였다. 그 뒤 동래부사 · 황해도관찰사 등 외직을 거쳐 오랫동안 승지에 임용되었으며 관직이 호조참판에 이르렀다. 재능이 있고 근면하였으나 일을 처리하는 데 가혹한 점이 있어 주위의 원망을 사기도 하였다.