본관은 청풍(淸風). 자는 미중(美仲). 아버지는 공조정랑 김극형(金克亨)이며, 어머니는 동지중추부사 심대해(沈大瀣)의 딸이다. 송시열(宋時烈)·송준길(宋浚吉)의 문인이다.
1687년(숙종 13) 사마시에 합격하여 진사가 되었으나, 기사환국의 변란을 보고 관계에 나갈 뜻이 없다가 1694년 헌릉참봉(憲陵參奉)에 제수되었다.
이어 내자시주부(內資寺主簿)·의금부도사(義禁府都事)·형조좌랑·임피현령·익찬(翊贊)·대구통판(大丘通判)을 지내고, 1700년 전생서주부(典牲署主簿)·합천군수, 1703년 훈련도감낭검을 거쳐 오위장으로 승진하였다.
1704년 무주목사·해주목사, 1706년 첨지중추부사를 거쳐 여러 번 오위장을 지냈으며, 1713년 이천군수, 1719년 가선대부(嘉善大夫)에 오르고, 동지중추부사가 되었다. 1720년 가의대부(嘉義大夫)로 승계하여 돈지돈녕부사가 되었다.