본관은 경주(慶州). 자는 수경(壽敬), 호는 석릉(石菱)·둔재(鈍齋). 숙종의 국구(國舅) 경은부원군(慶恩府院君)김주신(金柱臣)의 6대손으로 아버지는 예조판서 김정집(金鼎集)이며, 어머니는 벽진이씨(碧珍李氏)로 이태준(李泰峻)의 딸이다.
음관(蔭官)으로 출사하여 명릉참봉이 되었고, 1864년 증광문과에 병과로 급제하였다. 1865년 동지사 이흥민(李興敏)의 서장관에 임명되었고, 그 뒤 내외직을 거쳐 1874년 성균관대사성, 1878년 이조참의를 역임한 다음 병조·이조·형조의 참판과 공조판서 등 육조의 요직을 역임하였다.
그 밖에 한성부의 우윤·좌윤·판윤과 사헌부대사헌·홍문관제학·예문관제학 등 삼사와 문한(文翰)의 요직을 역임하였다.
1880년 2월 한성부좌윤 재임시 한성시감시 이소감시관(漢城試監試二所監試官)으로 시권(試券)의 요개(撓改)로 인한 물의가 일어나자 파방(罷榜)에 따라 그 책임을 지고 유배되었다.
유배에서 풀린 뒤인 1882년 7월 임오군변 직후에는 호군(護軍)으로 영접관에 임명되어 청나라 군사를 이끌고 내조한 오장경(吳長慶)·마건충(馬建忠) 등과 협력하여 군변수습에 활약하기도 하였다.
저서로는 『석릉집(石菱集)』을 비롯하여 『회흔영(會欣穎)』·『육입보(六入補)』·『담설(譚屑)』 등이 있으며, 편서는 『월성가사(月城家史)』·『김씨분관록(金氏分貫錄)』·『동묘영접록(東廟迎接錄)』 등이 있다.