경상감사 김노경(金魯敬)의 질서(姪婿: 조카 사위)이다.
1817년(순조 17) 8월에 통정대부에 오르고 1819년에 정사 홍희신(洪羲臣)과 함께 동지부사(冬至副使)로 청나라에 다녀왔다.
그 뒤 성균관대사성·이조참의에 올랐다가 연소광구(聯疏匡救: 널리 구하는 정책을 펴라는 연맹 상소)로 파직되었다. 그러나 곧 검교대교·예방승지·홍문관직제학·대사간을 거쳐 이조참판에 이르렀다.
827년 정월에 비변사제조로 차임(差任: 뽑혀서 임명됨)되었다가 곧 경상도관찰사로 교체되었으나 탐욕스런 행위로 말미암아 9월에는 삭출(削黜)되고 말았다. 1830년 안동김씨 세도가인 김조순(金祖淳)의 조카뻘 되는 김교근(金敎根)과 함께 탐진모리를 꾀하다가 성균관 유생들이 끈질긴 소를 올림으로 마침내 향리로 쫓겨나게 되었고, 그 뒤에도 양사에서 죄줄 것을 청하였으나 윤허되지 않았다.
그러나 1841년(헌종 7) 결국 추자도로 유배되고, 1849년 3월에 자전(慈殿)의 명에 의하여 풀러난 뒤 철종 때에 이르러 다시 도총관에 특채되고 이어 한성부판윤·형조판서·예조판서를 제수받았다.
그 뒤 잠시 평안도관찰사·수원부유수를 거쳐 다시 이조판서·예조판서·공조판서를 역임한 뒤 판돈녕부사·판의금부사에 올랐다.