본관은 경주(慶州). 자는 덕수(德叟). 관찰사 김홍욱(金弘郁)의 후손으로, 할아버지는 김두광(金斗光)이고, 아버지는 참의 김선경(金選慶)이며, 어머니는 홍주화(洪胄華)의 딸이다. 영조의 계비 정순왕후(貞純王后)의 아버지 오흥부원군(鰲興府院君) 김한구(金漢耉)의 동생이다.
1765년(영조 41) 9일제(九日製)에서 우수한 성적을 얻어 전시(殿試)에 바로 나갈 자격을 얻었고, 이듬해 별시 문과에 병과로 급제하였다. 형의 후광을 업고 그해에 바로 홍문관교리에 임명되었으며, 이듬해에는 당상관에 올라 승지·성균관대사성·경상도관찰사를 역임하였다.
1770년 김한구가 죽자 이를 매우 애석하게 생각한 영조의 배려로 특별히 호조참판에 임명되고, 이어 수어사·어영대장에 발탁되는 등 왕의 두터운 신임을 받았다. 뒤에 벽파(僻派)의 영수인 조카 김구주(金龜柱)가 피화되자, 앞으로는 절대로 외척은 청화요직(淸華要職)에는 임명하지 말라고 영조에게 눈물로 호소하였고, 영조가 죽자 빈전도감제조(殯殿都監提調)를 지냈다.
정조가 즉위한 뒤 벽파로서 시파(時派) 처벌에 관여하였다는 죄명으로 탄핵을 받고 문외출송(門外黜送)을 당하였다. 그러나 정조는 그 무고함을 알고 또한 대비의 마음을 위로하기 위하여 유배만은 금하여 주었다. 뒤에 다시 서용되었으나 현직에는 오르지 못하고 지중추부사에 머물렀다.