화평부(化平府: 지금의 光州) 출신. 아버지는 중찬(中贊)을 지낸 김지숙(金之淑)이다.
충숙왕 때 호군(護軍)을 거쳐, 1324년(충숙왕 11) 지신사(知申事)가 되고, 이어 밀직부사(密直副使)가 되었다.
밀직사로 있을 때 왕이 원나라에 억류되자 대언(代言) 경사만(慶斯萬)과 함께 왕의 환국을 원나라 왕에게 상소하였다. 그러나 이로 인해 왕과 적대관계에 있던 심양왕(瀋陽王) 왕고(王暠)의 일파에게 미움을 받아 순군옥에 갇혔다.
충숙왕이 복위하자 다시 밀직사·찬성사(贊成事) 등을 역임하였고, 충숙왕의 사후 원나라에 가서 충혜왕의 복위를 청원하였다.
그러나 다시 심양왕 일파에 의해 투옥되었다가 1342년(충혜왕 복위 3) 조적(曺頔)의 난을 토평한 공으로 1등공신이 되고 광산군(光山君)에 봉해졌다. 공민왕 즉위초에 시종한 공으로 경렬(敬烈)이라는 시호를 받았으며, 자손이 등용되었다.