본관은 김해(金海). 1330년(충숙왕 17) 과거에 장원급제한 이래 정언(正言)·헌납(獻納)·기거랑(起居郞)을 역임하였다. 1348년(충목왕 4) 감찰장령(監察掌令)이 되어 평리(評理) 전윤장(全允臧)이 직무에 충실하지 않다고 탄핵하였으나, 전윤장의 참소로 도리어 초도(草島) 구당(勾當) 벼슬로 좌천되었다. 이에 대관(臺官)이 모두 사직하고 정승(政丞) 왕후(王煦)까지 송천봉을 구하기 위하여 힘썼으나 이루지 못하였다.
정당문학(政堂文學) 신맹(辛孟) 등의 진언으로 광양감무(光陽監務)가 된 뒤, 1353년(공민왕 2) 감찰집의(監察執義)가 되었다. 우왕(禑王) 초에는 대사헌(大司憲)이 되어 환관(宦官) 출신인 판숭경부사(判崇敬府事) 윤충좌(尹忠佐)를 탄핵하여 관직과 전토(田土)를 삭탈하게 하였다. 뒤에 첨서밀직사사(簽書密直司事)에 오르고 김해군(金海君)에 봉해졌고, 81세로 죽었다. 시호는 문정(文貞)이다.