본관은 강릉(江陵). 자는 사보(士保), 호는 화서(華西). 김득원(金得元)의 증손으로, 할아버지는 김홍주(金弘柱)이고, 아버지는 판돈녕부사 김시혁(金始爀)이며, 어머니는 이기정(李箕禎)의 딸이다. 아들이 김우진(金宇鎭)이다.
1733년(영조 9) 사마시를 거쳐, 1736년 정시 문과에 을과로 급제하여 지평(持平)·교리(校理)를 지냈다.
1757년 충청도관찰사에 이어 대사간·한성부판윤을 지냈고 이조·형조·병조의 판서를 역임하였다. 그 뒤 평안도관찰사를 거쳐 1766년 우의정에 이어 좌의정·영의정에 올랐다. 학덕이 뛰어나 영조의 신임을 받았다. 우의정 때 우리 나라의 문물·제도를 부문별로 망라한 문헌의 필요성을 느껴, 왕에게 건의하여 찬집청(纂集廳)을 두어 1770년 『동국문헌비고(東國文獻備考)』를 편찬하게 하였다.
한편, 1771년에는 『명사(明史)』에 실린 강감합찬(綱鑑合纂)에 조선왕실의 계보가 잘못 올라 있다는 대간의 상소가 있자, 자진해서 선계변무사(璿系辨誣使)로 북경에 가서 그 책의 개인소장을 금하겠다는 청나라의 약속을 받고 돌아와 『신묘중광록(辛卯重光錄)』을 편집, 간행하였다. 1781년(정조 5) 기로소(耆老所)에 들어간 뒤, 영중추부사(領中樞府事)가 되었다.
1786년 아들 김우진(金宇鎭)이 숙종이 소론 윤선거(尹宣擧) 문집을 훼판(毁板: 책을 만들려고 글자를 새긴 나무판을 없앰)한 병신처분(丙申處分)의 잘못을 지적하고, 소론 조태구(趙泰耉)·유봉휘(柳鳳輝)를 옹호한 죄로 제주도에 유배될 때에, 김상철도 아들을 단속하지 못하였다는 죄목으로 삭탈관작되었다. 죽은 뒤 정조의 조처로 복관되었고, 충익(忠翼)의 시호를 받았다.