본관은 청풍(淸風). 자는 군서(君瑞). 증조부는 청풍부원군 김우명(金佑明)이며, 아버지는 진사 김도영(金道泳)이다.
1728년(영조 4) 이인좌(李麟佐)의 난 이후 어영대장 장붕익(張鵬翼)의 천거로 사복시내승(司僕寺內乘)으로 기용, 선전관 등을 거쳐 고부군수를 역임하였다.
1733년 도총부도사에서 별군직(別軍職)으로 전임되었으며, 내시사(內試射)에서 직부전시(直赴殿試)의 자격을 얻어 권무과(勸武科)에 급제, 이듬해 훈련원정·정주목사·경상우병사·동부승지·황해도수군절도사 등을 역임하였다.
1735년 평안도병마절도사·총융사·어영대장, 이듬해 훈련대장, 1737년 우윤·병조판서·형조판서, 이듬해 판윤 등을 역임하였다.
1740년 다시 병조판서가 된 뒤 1743년 판윤, 1748년 좌포도대장, 1754년 판의금부사를 지냈으며, 20여 년간 병조판서와 훈련대장을 번갈아가며 역임, 군사책임자로서 군정(軍政)을 일신하고 성지를 수축하는 등 국방강화에 노력하였다. 시호는 효정(孝靖)이다.