본관은 광산(光山). 문하시중 김태현(金台鉉)의 손자이며, 첨의평리(僉議評理) 김광재(金光載)의 아들이다.
재주가 뛰어나고 지조가 있어 군기감을 거쳐 수원·해주의 수령을 지냈다. 1361년 10월 10만의 홍건적이 쳐들어와 개성을 위협하자 수원부사로서 왕을 모시고 복주(福州: 지금의 안동)까지 호종한 공으로 신축호종공신(辛丑扈從功臣) 2등에 서훈되었다.
그러나 1368년 전 밀직부사(密直副使) 김정(金精)·조사공(趙思恭)·유사의(兪思義)·김제안(金齊顔)·김구보(金龜寶) 등과 함께 신돈(辛旽)을 살해하기로 한 모의가 누설되어 순군옥(巡軍獄)에 갇혔다가 장류되는 도중 신돈이 보낸 자객에 의해 교살되었다.