본관은 광산(光山). 자는 자성(子誠). 김문(金問)의 증손으로, 할아버지는 감찰 김철산(金鐵山)이고, 아버지는 좌리공신 좌참찬 김겸광(金謙光)이며, 어머니는 중군사직(中軍司直) 진계손(陳繼孫)의 딸이다.
1489년(성종 20) 진사가 되고, 1498년(연산군 4) 식년 문과에 병과로 급제, 승문원정자(承文院正字)에 보임되었다. 검열(檢閱) · 전적(典籍) · 예조좌랑을 거쳐 홍문관수찬(弘文館修撰)에 선임되어 경연검토관(經筵檢討官) · 춘추관기사관을 겸임했다. 1503년 지평에 올라 언론 활동을 벌이다 부사직으로 좌천되었으며, 이듬해인 1504년 예조정랑을 제수받은 뒤 갑자사화로 고산현에 유배되었다.
중종반정 뒤 재기용되어 교리 · 장령 · 부응교 · 예빈시부정 등을 역임했고, 승문원교감 · 사간 · 집의 · 제용감정(濟用監正)을 거쳐 1511년(중종 6) 승정원동부승지가 되었다. 이듬해 첨지중추부사 · 호조참의를 거쳐 좌승지로 재임 중, 박영문(朴永文) 옥사의 국문(鞠問)에 참여하였다.
이어 충청도관찰사 · 한성부윤 · 공조판서를 역임했고, 1519년 개정가계사은사(改正家系謝恩使)로 명나라에 다녀온 뒤 좌참찬을 제수받았다. 형조판서 · 대사헌 · 이조판서 · 호조판서 겸 세자좌빈객(世子左賓客) 등 현직을 두루 거쳐 1525년 좌찬성에 올랐다. 1530년(중종 25)에 권신 김안로(金安老) · 허항(許沆) 등의 미움을 받아 고신(告身)을 박탈당하자 울분으로 단식하였고, 끝내 이듬해에 죽었다.
이항(李沆) · 심정(沈貞)과 함께 세간에서 삼간(三奸)으로 지칭했으며, 사림파와 대립해 많은 비난을 받기도 하였다. 1538년에 김안로 일파가 몰락한 뒤에 신원되었다. 시호는 정평(靖平)이다.