본관은 광산(光山). 자는 윤보(胤甫). 김효성(金孝誠)의 증손으로, 할아버지는 승지 김세정(金世鼎)이고, 아버지는 김진규(金震煃)이며, 어머니는 어씨(魚氏)이다. 부인은 반남박씨(潘南朴氏)로 판중추부사 박세당(朴世堂)의 딸이다.
1702년(숙종 28) 생원시에 장원, 1714년 증광 문과에 병과로 급제하였다. 1716년 승문원정자가 되어 경신환국 때 송시열(宋時烈)을 비판하는 성균관 유생들과 내응했다는 이유로 사간원의 탄핵을 받아 파직되었으며, 이듬해에는 사직 이대성(李大成) 등과 연명으로 세자청정(世子聽政)을 반대하는 상소를 올렸다.
1722년(경종 2) 지평이 되어 세제 연잉군(延礽君: 뒤의 영조)의 대리청정을 주장하는 이이명(李頤命)·김창집(金昌集)을 규탄하는 한편, 영의정 조태구(趙泰耉)를 공박하였다. 이듬해 홍문록(弘文錄: 홍문관 관원들이 직접 홍문관의 교리와 수찬 후보자를 선발한 명단안)에 오르고, 1724년 수찬이 되어 도당록(都堂錄: 삼정승과 찬성, 이조판서 등이 홍문록에서 교리와 수찬 후보자를 다시 선발한 2차 명단안)에 올랐다.
그해 영조가 즉위하자 불균등한 군역의 폐단을 논하고 이를 개혁할 것을 주장, 영조로부터 칭찬을 받았다. 이어서 관직을 매매하는 공명첩(空名帖) 발급의 폐를 논하고 명나라에서 실시한 예에 따라 납속자(納粟者)에게 ‘의민(義民)’이라 호칭, 정려·복호(復戶)의 혜택을 줄 것을 주장하였다.
1725년(영조 1) 부교리에 이어 교리가 되었으나 1722년의 신임사화와 관련, 관직을 삭탈당하고 문외출송(門外黜送)되었다. 또한, 전일에 송시열을 비판하였던 일로 전라도 유생들의 항의를 받았다.
죽은 뒤 1755년 손자 김정리(金正履)가 노론4대신을 제거한 김일경(金一鏡)의 당여로 주살됨에 이에 연루되어 추율(追律: 사후에 죄가 드러났을 경우 죽은 자에게 집행하는 형율)당하였다.