본관은 안동(安東). 자는 회부(晦夫), 호는 계산초로(溪山樵老). 김원행(金元行)의 증손으로, 할아버지는 김이직(金履直)이고, 아버지는 목사 김인순(金麟淳)이며, 어머니는 신식(申○)의 딸이다.
1828년(순조 28) 진사시에 합격하였고, 음사(蔭仕)로 동몽교관(童蒙敎官)이 되었으며, 1833년 시제에서 수석하여 전시에 곧바로 응시할 수 있는 자격을 얻어 이듬해 식년 문과에 을과로 급제하였다. 1835년(헌종 1) 규장각대교(奎章閣待敎)가 된 뒤 1837년 대사성, 1840년 이조참의, 1845년 우윤(右尹), 1847년 충청도관찰사, 1850년(철종 1) 이조참판·공조판서, 1851년 우참찬·대사헌, 다음 해에 이조판서와 홍문관대제학·선혜청당상, 1853년 병조판서, 1854년 형조판서·한성부판윤 등을 역임하였다.
당대 세도가의 출신으로서, 동생 김문근(金汶根)은 철종의 장인으로 영은부원군(永恩府院君)에 봉하여졌고, 두 아들 김병학(金炳學)과 김병국(金炳國)은 모두 정승에 올랐다. 철종 묘정(廟庭)에 배향되고 거제의 반곡서원(盤谷書院)에 배향되었다. 저서로는 『삼연선생연보(三淵先生年譜)』가 있다. 시호는 정문(正文)이다.