본관은 강릉(江陵). 자는 계장(季章). 김선여(金善餘)의 증손으로, 할아버지는 김득원(金得元)이고, 아버지는 봉사(奉事) 김홍주(金弘柱)이며, 어머니는 주서(注書) 남궁배(南宮培)의 딸이다.
1713년(숙종 39) 성균관생으로서 김장생(金長生)의 문묘종사(文廟從祀)를 위해 권당(捲堂: 불만이나 불평으로 모두 성균관을 나가 관을 비움)을 주동하였다 하여 정거(停擧: 과거를 보지 못하게 하는 처벌)당하였다.
1717년 식년 문과에 을과로 급제하여 1722년(경종 2) 정언(正言)이 되고, 이어서 문학(文學)·지평(持平)을 거쳐, 1727년(영조 3)에 다시 정언이 된 뒤 헌납(獻納)·집의(執義) 등을 역임하였다.
1728년 호서·호남지방의 안무사 겸 순찰어사가 되어 이인좌(李麟佐)의 난으로 소란해진 이 지역의 민심수습을 위하여 노력하였다. 1730년 동부승지가 되었으며, 이어서 참찬관·충청도관찰사·승지 등을 거쳐, 1732년 경상도관찰사가 되어 특히 교학(敎學)의 진흥을 위하여 힘썼다.
1734년 대사간·예조참판·대사헌, 이듬해 승지·황해도관찰사, 1736년 호조참판 등을 역임하고, 그 해에 동지부사(冬至副使)로 청나라에 갔다가 이듬해 귀국하여 도승지가 되었다.
1738년 형조판서·좌참찬을 역임한 뒤 이어서 호조판서·병조판서·판의금부사를 거쳐 1744년 평안도관찰사로 나갔다가 돌아와 이듬해 다시 판의금부사가 되었으며, 그 뒤 판돈녕부사·병조판서 등을 역임하였다. 시호는 효헌(孝獻)이다.