본관은 선산(善山). 자는 미수(眉叟)·백춘(伯春), 호는 병암(屛菴). 선산 출신. 김양보(金揚普)의 증손으로, 할아버지는 김지(金地)이고, 아버지는 대사헌 김지경(金之慶)이며, 어머니는 강거례(康居禮)의 딸이다.
1477년(성종 8) 식년 문과에 병과로 급제하여 검열이 되고, 1482년에 수찬(修撰)에 오른 뒤 예조정랑·사유(司諭)·경연시강관(經筵侍講官)·집의(執義)를 거쳐서, 1492년 직제학(直提學)이 되었다.
이어서 좌·우부승지를 거쳐 이듬해에는 도승지가 되었고, 1496년(연산군 2) 강원도관찰사로 나갔다가 곧 돌아와 동지성균관사·관상감제조(觀象監提調)·공안상정사제조(貢案詳定司提調)를 역임하였다. 1498년 호조참판이 되었으며, 이듬해에는 동지중추부사(同知中樞府事)가 되어 천추사(千秋使)로 명나라에 다녀와 공조참판이 되었다.
1500년에 한성부판윤이 된 뒤 곧 형조판서가 되었으며, 지의금부사(知義禁府事)·세자우빈객(世子右賓客)을 지내고, 1504년 갑자사화로 문외출송(門外黜送)당하였다. 1506년중종이 즉위하자 이조판서가 된 뒤 병조·공조·예조판서를 차례로 지내고, 1513년(중종 8) 우의정이 되었으며, 좌의정을 거쳐 1518년 영중추부사(領中樞府事)가 되었다.
학식이 넓어 천문·지리·수학에까지 정통하였고, 언행이 법도에 맞아 사람들은 ‘동방의 부자(夫子)’라고 존경하였다. 성종의 신임이 두터워 10여 년 동안 강연(講筵)을 맡았다. 시호는 문대(文戴)이다.