본관은 강릉(江陵). 자는 회이(晦而), 호는 매곡(梅谷). 김선여(金善餘)의 증손으로, 할아버지는 김득원(金得元)이고, 아버지는 제용감봉사(濟用監奉事) 김홍주(金弘柱)이며, 어머니는 주서(注書) 남궁배(南宮培)의 딸이다. 아들이 영의정 김상철(金尙喆)이다.
1708년(숙종 34) 식년 문과에 을과로 급제, 1710년 시강원설서(侍講院說書)를 시작으로 정언(正言) · 병조좌랑 · 지평 · 충청도사 · 고산찰방(高山察訪) 등을 거쳐, 영광군수(靈光郡守)로 나가서 큰 치적을 올렸다. 특히, 삼남지방 양전(量田: 토지 조사)의 부세를 배로 올려 국가에 이익이 되게 하였다.
1722년(경종 2)에 수찬(修撰) · 교리(校理)를 거쳐 헌납(獻納) · 사간 · 집의(執義) · 필선(弼善) · 보덕(輔德) · 장악원정(掌樂院正)을 지냈다. 이 때 호서 지방의 안찰사(按察使)로 나가 사정을 살핀 뒤 군역(軍役)의 변통을 주장하면서, 당시 시행 중이던 군포감반지법(軍布減半之法: 군포의 부담을 절반으로 줄인 조치.)은 각 읍의 잡역미(雜役米)로써 충당한 후라야 가능하다고 상주하였다.
그 뒤 동지사(冬至使)의 서장관(書狀官)으로 청나라에 다녀왔다. 1724년(경종 4)에 수원부사로 나갔다가 영조 즉위 후 물러났으나 1727년(영조 3) 정미환국 이후 다시 기용되어 황해도관찰사로 나갔다. 1729년에 호조참의를 거쳐 대사간 · 동부승지 · 춘천부사를 지냈다.
1734년 함경도관찰사를 지낸 뒤 다시 대사간과 호조 · 예조 · 병조 · 형조 · 공조의 참의를 거쳐 호조참판 겸 부총관(戶曹參判兼副摠管) 및 비변사제조(備邊司提調)로 승진해 명사변무(明史辨誣)를 위해 다시 청나라에 다녀왔다. 그 뒤 한성부의 좌윤 · 우윤과 호조참판 겸 전설사제조(戶曹參判兼典說司提調)를 지냈다.
1741년 강화유수로 부임해 청나라에서 견문한 벽돌 굽는 법을 도입해 강화외성(江華外城)을 쌓는 데 공을 세웠다. 1744년에는 한성부판윤 겸 지의금부사(漢城府判尹兼知義禁府事)와 평시서제조(平市署提調)를 거친 뒤 대사헌이 되었고, 1745년 기로사(耆老社)에 들어갔다.
그 뒤에도 공조판서 · 대사헌 · 의정부좌참찬 · 지중추부사 겸 빙고제조(知中樞府事兼氷庫提調) 등과 숭정대부(崇政大夫)로 품계가 올라 판돈녕부사(判敦寧府事)까지 제수되었다.