본관은 강릉(江陵). 자는 사담(士聃). 김득원(金得元)의 증손으로, 할아버지는 김홍집(金弘楫)이고, 아버지는 김시정(金始炡)이며, 어머니는 홍우성(洪禹成)의 딸이다.
1734년(영조 10) 정시 문과에 갑과로 급제하여 사헌부에 들어간 이래 사간원·홍문관의 청요직을 두루 거쳤다.
1745년 무신잔당(戊申殘黨)에게 재타격을 가하고 무신란에 연루되어 이미 죽은 사람에게 죄를 더하려 하자 장령으로 있으면서 이의 자제를 주장하였다. 1750년에는 사간(司諫)으로 있으면서 당시 왕의 무분별하고 과격한 처사의 시정을 직간하였다.
1752년 존숭도감(尊崇都監)에 참여한 공으로 특별히 통정대부에 가자되었고 이어 승지로 발탁되었다. 그러나 사사로운 감정으로 공무를 처단하였다는 명목으로 윤광의(尹光毅)를 탄핵하다가 도리어 영조의 노여움을 사서 양천현감으로 좌천되었다. 뒤에 다시 경직에 복귀하여 대사간에 올랐다.