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