충목왕 때 현릉직(顯陵直)으로 시작해 공민왕 때는 안우(安祐) 등과 함께 홍건적(紅巾賊)을 격퇴했으며, 홍건적에게 일시 함락된 서울(개경)을 수복해 1등공신이 되었다. 판전객시사(判典客寺事)·전공판서(典工判書)에 이르러 규의선력공신(揆義宣力功臣)의 호를 받았다.
그 해에 덕흥군(德興君) 왕혜(王譓)가 원나라에 의해 고려왕에 임명되어 입국한다는 소식이 있자, 전공판서로서 서북면도순문사가 되어 용주(龍州: 지금의 평안북도 용천)에 주둔했다가, 덕흥군이 물러간 뒤 추성규의선력공신(推誠揆義宣力功臣)의 호를 받았으며 동지밀직사사(同知密直司事)에 이르렀다.
지위가 차차 올라가 1365년에 밀직사·지도첨의상원수(知都僉議上元帥)가 되고 이듬해에는 첨의평리(僉議評理)가 되고 지문하성사(知門下省事)가 되었으며, 이어 서북면상원수 겸 평양윤이 되었다.
1370년 원나라에서 평장사(平章事)를 지낸 기새인티무르[奇賽因帖木兒]가 원이 망하자 요심관리평장(遼瀋官吏平章) 김백안(金伯顔) 등과 더불어 동녕부(東寧府)에 웅거하였다. 그런데 자기 아버지 기철(奇轍)을 죽인 것에 감정을 품고 있었으므로, 부원수 양백안(楊伯顔), 안주상만호 임견미(林堅味), 이성계(李成桂) 등과 함께 공격하였다.
이 때 시중 이인임(李仁任)은 도통사로 안주에 진을 치고 군사가 의주에 이르러 만호 정원비(鄭元庇)·최혁성(崔奕成)·김용진(金用珍) 등에게 압록강에 부교를 설치하게 해 모두 3일 만에 도하를 끝냈다. 이 전투의 결과로 동녕부를 회복하고 북원(北元)과 국교를 단절하게 되었다.
한편, 전쟁을 치르면서 성을 함락하고 창고를 거의 다 불태워 군량이 부족하였다. 이에 모든 장수들이 지름길로 갈 것을 청했으나 유독 혼자서 엄정한 군기를 자랑하기 위해 바닷가를 따라 군사를 돌렸다. 그러나 병사들이 크게 굶주려 소와 말을 잡아먹어 행군을 못하게 되자 모두가 원망해 지름길로 돌아왔다고 한다.