본관은 안동(安東). 자는 성존(聖存), 호는 사영(思潁). 부사 김이중(金履中)의 증손으로, 할아버지는 대제학 김조순(金祖淳)이고, 아버지는 판돈녕 김영근(金泳根)이며, 어머니는 윤치승(尹致升)의 딸이다. 영의정 김좌근(金左根)에게 입양되었다.
1847년(헌종 13) 정시 문과에 병과로 급제하고 이듬해 사복시정(司僕寺正)이 되었다. 1849년(철종 즉위년) 대사성이 된 뒤 1850년 이조참의·실록청수찬관(實錄廳修撰官)·규장각직제학·예조참판, 1851년 이조참판, 1852년 대사헌을 거쳐 평안도관찰사가 되었다.
이 때 재정이 고갈 상태임을 조정에 보고하고 이에 대한 대책을 세워주도록 청하였다. 1853년에 총융사(摠戎使)·훈련대장·예조판서·의정부좌참찬·판돈녕부사(判敦寧府事)·공조판서·한성판윤 등을 역임하고 이듬해 호조판서, 1860년 금위대장·어영대장을 지냈다.
1862년에는 삼남 지방으로부터 시작된 전국적인 민란의 대책을 강구하기 위해 설치한 삼정이정청(三政釐整廳)의 구관당상(句管堂上)이 되었다. 철종 때 안동 김씨의 세도정치 하에서 이조판서·어영대장·판돈녕부사직을 두 차례, 호조판서직을 다섯 차례나 거치는 등 관력(官歷)이 화려하였다.
그러나 고종이 즉위하고 흥선대원군이 실권을 잡자 1864년(고종 1) 판돈녕부사·광주유수(廣州留守) 등 한직으로 물러났다. 그러다 다시 요직에 기용되어 1865년 병조판서·좌찬성, 1866년 공조판서·예조판서, 1867년 이조판서 등을 두루 역임하였다.
김문근(金汶根)의 조카로 성격이 호방해 김문근의 사랑을 받았다. 안동 김씨의 세도정치가 한창일 때에 초야에 있던 흥선대원군과 교유해, 뒷날 흥선대원군이 집정해 안동 김씨 일파가 대부분 제거될 때도 여전히 관직에 머무를 수 있었다. 저서로 『사영집(思潁集)』이 있다. 시호는 문헌(文獻)이다.