공민왕(恭愍王) 초에 판각문사(判閣門事)가 되어 밀직(密直) 신귀(辛貴)의 처 강씨(康氏)와 간통했는데, 강씨는 당시 찬성(贊成) 윤성(允成)의 딸이었다. 이로 인해 1359년(공민왕 8) 헌사(憲司)의 탄핵을 받아 파면되었다.
뒤에 상호군(上護軍) 최영(崔瑩) 휘하에서 종군, 1363년(공민왕 12)에 김용(金鏞)이 일으킨 흥왕사(興王寺)의 변(變)을 평정하는 데 공을 세워 1등공신인 추성익위공신(推誠翊衛功臣)이 되었으며, 개성윤(開城尹)에 임명되었다가 극성방어사(棘城防禦使)가 되었다.
1365년에 밀직부사(密直副使)로 원나라에 가서 왕비 노국공주(魯國公主)의 죽음을 알리고 돌아와 서북면도순위사(西北面都巡慰使)가 되었다. 1370년에는 서북면부원수(西北面副元帥)로서 지용수(池龍壽)·이성계(李成桂)·임견미(林堅味) 등과 함께 동녕부(東寧府)를 쳐서 공을 세웠다.
이듬해 전라도도순문사(全羅道都巡問使)가 되었다가 다시 동강도지휘사(東江都指揮使)가 되어 예성강에 침입한 왜구를 격퇴하였다. 1373년에는 서북면도순찰사(西北面都巡察使)가 되었고, 이듬해 서북면도순문사(西北面都巡問使)가 되었다.
1375년(우왕 1)에 심왕(瀋王) 왕고(王暠)가 반적(叛賊) 김의(金義)를 거느리고 들어온다는 소문이 있자, 문하평리상의(門下評理商議)로서 안주상원수(安州上元帥)가 되어 이에 대비하였다.
1377년에 서강부원수(西江副元帥)로서 이성계 등과 함께 왜구를 격파했으며, 그 해에 찬성사(贊成事)가 되어 제조정방(提調政房)을 겸하였다.
그 뒤 왜구의 침입이 심해지자 이에 대비하다가, 진주 반성현(班城縣)에서 왜구를 크게 쳐부수고 개선하였다. 이때부터 전공을 믿고 교만을 부리다가 이인임(李仁任)·임견미 등의 미움을 받아 1379년 합주(陜州: 지금의 경상남도 합천)로 귀양 갔다가 살해당하였다.
시호는 충간(忠簡)이다.