본관은 광산(光山). 자는 성지(成之), 호는 청라(靑蘿)·우정(憂亭). 김남호(金南浩)의 증손으로, 할아버지는 김중로(金仲老)이고, 아버지는 진사 김맹권(金孟權)이며, 어머니는 전삼달(全三達)의 딸이다.
1496년(연산군 2) 생원시에 장원하고, 1498년 별시 문과에 장원으로 급제, 전적에 임명되어 종학사회(宗學司誨)를 겸하였다. 1500년 서장관으로 명나라에 다녀와서 북평사(北評事)가 되었다. 얼마 뒤 헌납에 발탁되었으나 연산군에게 충심으로 간하다가 죄를 입을 뻔했고, 이어 병조정랑·사인(舍人) 등을 역임하였다.
1506년 중종반정에 가담, 분의정국공신(奮義靖國功臣) 4등에 녹훈되어 장악원정(掌樂院正)으로 임명되었다. 이듬해 부모 봉양을 위해 외직을 빌려 서천군수로 부임하였다. 이어 장례원판결사(掌隷院判決事)·병조참의를 역임하고 가선대부(嘉善大夫)로 승진, 광성부원군(光城府院君)에 책봉되었다.
의주목사로 갔다가 1518년(중종 13) 삼공(三公)에 문무 겸비의 인물로 천거되어 예조참판으로 전임되었다. 다시 경상우병사·경상도관찰사를 역임하고, 1521년(중종 16) 공조참판으로 정조사(正朝使)에 임명되어 북경을 다녀왔다.
대사헌을 거쳐 1523년 예조판서·우참찬·이조판서를 지내다가 잠시 평안도관찰사가 되었다. 다시 찬성·병조판서 겸 지경연 세자이사로 있다가, 권신 김안로(金安老)의 미움을 받아 그 일파의 모함으로 1531년(중종 26)정광필(鄭光弼)과 함께 흥덕(興德)에 유배되었다. 이듬해 김안로가 죽자 귀양에서 풀려 우의정에 발탁되었다.
비교적 한미한 집안 출신으로서 매사에 신중하고 자세했으며, 세 번이나 예조판서를 지낼 만큼 문학에 뛰어났고 간결하다는 평을 들었다. 그러나 당시 사림과의 관계는 원만하지 못하였다. 저서로 『우정집(憂亭集)』이 있다. 시호는 충정(忠貞)이다.