본관은 안동(安東). 자는 원회(元會), 호는 건옹(健翁). 할아버지는 김교행(金敎行)이고, 아버지는 김이인(金履仁)이며, 어머니는 송정흠(宋鼎欽)의 딸이다. 군수 김이례(金履禮)에게 입양되었다.
1803년(순조 3) 사마시를 거쳐, 1808년 별시 문과에 병과로 급제하여 승문원정자(承文院正字)가 되었다. 그 뒤 대교(待敎)·학정(學正)·사경(司經)을 지냈다.
1815년에 실시한 홍문록(弘文錄)에 4점, 이어 실시한 도당록(都堂錄)에 4점을 받고 수찬(修撰)에 임명되고, 이듬해 교리(校理)가 되었다. 1822년 대사성에 임명되었고, 이듬해 가자(加資)되었다. 1825년 이조참판에 올랐고, 1827년 대사헌에, 1833년 이조판서에 임명되었다.
헌종이 즉위한 뒤 1838년(헌종 4) 대사헌에 임명되었으나, 1840년 모역혐의를 받고 투옥되어 국문(鞫問: 신문)을 받던 중 심한 고문에 불복하다가 죽었다. 편서로 『탄옹행장(炭翁行狀)』이 있다.