본관은 광산(光山). 자는 공필(公弼), 호는 난재(蘭齋). 호조참판 김재성(金在成)의 아들이다.
1848년(헌종 14) 증광별시 문과에 을과로 급제하여 대교(待敎)가 되었다. 1859년(철종 10) 이조참의·부제학을 거쳐 그 이듬해 규장각직제학이 되었다. 곧 이어 예방승지(禮房承旨)·개성부유수 등을 지냈으나, 1864년(고종 1) 흥선대원군에 의해 관직에서 축출되었다.
그러나 다시 척족 민씨의 일파가 되어 형조판서·이조판서·선혜청당상을 지냈다. 선혜청당상 재임 중에는 모리행위가 심하여 원성을 사기도 하였다. 1881년 통리기무아문의 통상당상에 임명되었다.
이듬해 조미수호통상조약에서 체결된 관세율을 일본에도 적용시키려는 정부의 방침에 따라 전권대관(全權大官)에 임명되어 일본공사 하나부사[花房義質]와 협상하게 되었다.
또한, 임오군란 직전 군영의 군인들에게 녹봉미(祿俸米)가 지급되지 못하자, 군인들은 선혜청당상이던 민겸호(閔謙鎬)와 당시 경기도관찰사이던 김보현에게 그 책임을 돌렸다.
임오군란이 일어난 뒤 대궐 안에 난입한 난군들에 의하여 민겸호와 함께 중희당(重熙堂)에서 피살되었다. 시호는 문충(文忠)이다.