본관은 창녕(昌寧). 1361년(공민왕 10) 순주부사(順州府使)로 여러 장군들과 함께 홍건적의 침입을 물리치고 2등공신에 올랐다. 다음해 양광도도순문사(楊廣道都巡問使)를 거쳐 전리판서(典理判書)·동지밀직사사(同知密直司事) 등을 역임하였다.
1368년 명나라가 원나라 서울인 연경(燕京)을 포위하자 좌상시(左常侍)로서 의정주등처안무사(義靜州等處安撫使)가 되어 명나라의 위협에 대비하였으며, 충근보리공신(忠勤輔理功臣)의 호를 받았다. 우왕 초에 경상도도순문사로 왜구를 물리쳤고, 지문하부사(知門下府事)·서북면도체찰사에 올랐다.
1379년(우왕 5) 문하평리(門下評理), 1383년 문하시중(門下侍中)을 역임하고, 창성부원군(昌城府院君)에 봉하여졌다. 다음해 밀직부사로서 전라도조전원수(全羅道助戰元帥)를 겸임, 1385년 판문하부사(判門下府事)로서 사은사(謝恩使)가 되어 명나라에 다녀왔다.
1388년 요동정벌군의 좌군도통사(左軍都統使)로 출정하였다가 이성계(李成桂)와 함께 위화도에서 회군, 우왕을 폐하고 창왕을 세우는 데 중요구실을 하여 충근양절선위동덕안사공신(忠勤亮節宣威同德安社功臣)에 양광전라경상서해교주도도통사(楊廣全羅慶尙西海交州道都統使)가 되었다.
1389년(창왕 1) 이성계일파의 전제개혁을 반대하다가 조준(趙浚) 등의 탄핵으로 창녕에 유배되었다. 이해 창왕의 생일에 특사로 풀려나왔으나, 다시 우왕의 혈통을 에워싼 논쟁으로 이성계일파에 대항하다가 서인(庶人)으로 강등, 다음해에 다시 창녕으로 유배되어 죽었다.