본관은 안동(安東). 자는 기경(起卿), 호는 유관(游觀). 김달행(金達行)의 증손으로, 할아버지는 김이경(金履慶)이고, 아버지는 이조참판 김명순(金明淳)이며, 어머니는 신광온(申光蘊)의 딸이다. 형은 좌의정 김홍근(金弘根)이다.
1825년(순조 25) 알성 문과에 병과로 급제하여 검열·대교(待敎)·겸보덕(兼輔德)·이조참의·전라도관찰사 등을 역임하고, 1837년(헌종 3)에 동지부사로 동지정사와 함께 청나라에 다녀왔다.
그 뒤, 이조참판·규장각직제학·홍문관부제학·평안도관찰사 등을 거쳐, 1841년에 형조판서가 되었다. 이어 대사헌·한성부판윤 및 공조·호조·예조의 판서와 규장각제학·이조판서 등을 역임하고, 1846년에 좌참찬이 되었다.
1848년에 다시 예조판서를 거쳐 경상도관찰사가 되었으나, 안동김씨의 권세를 믿고 방자한 행동을 하였다 하여 대간의 탄핵을 받아 전라남도 광양현에 유배되었다. 이듬해 헌종이 죽고 철종이 즉위하여 다시 안동김씨의 세도가 확립되자, 유배에서 풀려나 한성부판윤으로 등용되었다.
이어 이조판서를 거쳐 1851년(철종 2)에 좌의정에 오르고 『헌종실록(憲宗實錄)』 편찬 총재관(摠裁官)이 되었으며, 이듬해에 영의정이 되었다. 판중추부사로 물러났다가 1862년에 이정청총재관(釐整廳摠裁官)이 되었고, 1864년(고종 1)에 『철종실록(哲宗實錄)』 편찬 때 지실록사(知實錄事)가 되었다. 이듬해 영돈녕부사로서 치사(致仕)하였다. 시호는 충문(忠文)이다.