본관은 광산(光山). 자는 방보(邦寶), 호는 독송정(獨松亭). 우의정 김국광(金國光)의 증손으로, 할아버지는 김극뉴(金克忸)이고, 아버지는 김소윤(金昭胤)이며, 어머니는 판서 윤계겸(尹繼謙)의 딸이다.
1525년(중종 20) 진사시에 장원으로 합격하고, 1540년 식년문과에 을과로 급제하였다. 이듬해 홍문관정자(弘文館正字)가 된 뒤 1544년 정언(正言), 1546년(명종 1) 수찬(修撰), 1548년 검상(檢詳)·장령(掌令), 이듬해 집의(執義)·응교(應敎), 1550년 선공감정(繕工監正)을 차례로 역임하여 이듬해 구황 겸 선위사(救荒兼宣慰使)로 청홍도(淸洪道)에 파견되었다.
1552년 동부승지(同副承旨), 1554년 형조참의가 되어 성절사(聖節使)로 명나라에 다녀왔다. 1557년 청홍도관찰사가 되었으며, 이듬해 이조참의를 역임하였다. 이어서 대사헌과 한성부판윤을 역임하고, 1563년 형조판서, 1564년에는 호조판서가 되었다.
1569년 기묘사화 때 화를 당한 조광조(趙光祖) 등을 현자로 추대할 때에 조광조를 비방한 사실이 드러나 기대승(奇大升) 등의 탄핵을 받고 관직을 삭탈당하였다. 시흥으로 낙향하여 있다가 분사하였다. 관직에 있으면서 매우 청렴하여 1552년에 청백리에 녹선(錄選)되었다.