본관은 상산(商山). 자는 자직(子直), 호는 낙건정(樂健亭). 김설(金卨)의 증손으로, 할아버지는 김우석(金禹錫)이고, 아버지는 진사 김유(金濡)이며, 어머니는 홍주국(洪柱國)의 딸이다.
1704년(숙종 30) 춘당대 문과(春塘臺文科)에 을과로 급제한 뒤, 1707년부터 사서·정언·지평·문학·부수찬·필선·수찬을 역임하였다. 1721년(경종 1) 보덕으로 있을 때 당시 왕세제(王世弟)였던 영조를 모해하려는 환관 박상검(朴尙儉)·문유도(文有道) 등을 탄핵해 처벌하게 하였다.
1722년부터 수찬·응교·수원부사·대사간·승지를 역임하면서 소론 온건파의 입장에 서서 강경파인 김일경(金一鏡)의 가혹한 신임사화 처리를 탄핵하다가 광주목사(廣州牧使)로 좌천되었다. 1723년에 승지, 다음 해에 경상감사를 지냈다.
1725년 영조 즉위 후에 노론이 집권하자 다시 좌천당할 뻔했으나, 왕의 각별한 비호를 받아 무사하였다. 1727년 도승지와 한성판윤을 역임하면서 영조의 탕평책에 협조하였다. 1728년 이인좌(李麟佐)의 난이 일어나자 남한순무 겸 동로경략사(南漢巡撫兼東路經略使)로 출전해 공을 세우고, 난이 평정된 뒤에 이조판서·공조판서를 지냈다.
1729년(영조 5) 동지정사(冬至正使)로 북경에 다녀오고, 이어 병조판서·호조판서·지의금부사·동지경연사를 거쳐, 1732년부터는 다시 한성판윤·좌참찬·판돈녕부사·형조판서·판의금부사·예조판서 등의 요직을 두루 지냈다.
죽은 뒤 찬성에 추증되었다. 시호는 충혜(忠惠)이다. 저서로는 『인접설화(引接說話)』가 있다.