본관은 의성(義城). 자는 백순(伯純), 호는 약봉(藥峰). 경상도 안동 출신. 증 통례 김만근(金萬謹)의 증손으로, 할아버지는 증 좌승지 김예범(金禮範)이고, 아버지는 증 이조판서 김진(金璡)이며, 어머니는 여흥민씨(驪興閔氏)로 병절교위 민세경(閔世卿)의 딸이다.
아버지로부터 엄격한 가정교육을 받고, 커서는 아우 김명일(金明一)·김성일(金誠一)과 함께 이황(李滉)의 문하에 들어가 수학하였다. 1546년(명종 1)에 증광 문과에 병과로 급제해 교서관정자에 임명되었다.
그 뒤 수의부위·사용을 거쳐, 1551년에 승문원정자·저작·박사가 되었다. 1553년 승정원주서가 되고, 얼마 뒤 형조좌랑·사헌부감찰에 임명되었다. 그리고 이듬해에는 홍원현감(洪原縣監)을 역임하였다.
1556년 청홍도도사(淸洪道都事)를 거쳐, 1558년 성균관직강·형조정랑·예조정랑이 되었다. 그리고 다음 해 경상도도사를 거쳐, 1560년에 다시 예조정랑이 되었다. 얼마 뒤 군기시첨정과 평해군수를 역임하였다.
1566년에는 사재감첨정을 거쳐 다시 예천군수에 임명되었다. 그리고 1569년(선조 2) 성균관사성과 사도시정(司䆃寺正)을 거쳐, 외직으로 성주목사를 역임하였다. 성주목사 시절 『계몽익전(啓蒙翼傳)』을 간행해 스승 이황으로부터 격려를 받기도 하였다. 1575년 밀양부사에 임명되고, 1582년 내자시정, 이듬해에는 사헌부장령을 겸하였다.
주로 지방관을 역임했고, 효성이 매우 지극하였다. 문장은 고결하고 창고(蒼古)해 한 글자도 진부한 말이 없었다고 한다. 더욱이 시에 뛰어나 시인으로서 명성이 높았다. 시는 매우 정교했고 사실을 인용함에 비유함이 간절하였다.
그리고 시상은 깨끗하고 세련미가 있었다고 전한다. 저서로는 『약봉일고(藥峰逸稿)』 가 있다. 안동의 사빈서원(泗濱書院)에 배향되었다.