본관은 사천(泗川). 공민왕이 원나라에서 숙위(宿衛)할 때, 중랑장(中郎將)으로 11년간 시종한 공으로, 왕이 즉위하자 신임을 받아 계속 승진, 병부상서가 되었다.
1359년(공민왕 8) 대호군(大護軍)의 직책으로, 왕명을 받아 밀직(密直) 강중경(姜仲卿)과 함께 친원파(親元派) 기철(奇轍)의 일파를 제거하였다. 그리고 홍건적(紅巾賊)의 침입으로 왕이 남쪽으로 피난갈 때 시종해 지밀직사사(知密直司事)에 전보되었다.
1362년 왕의 총애를 믿고 방자한 행동을 하다가 감찰사(監察司)·대간(臺諫)의 탄핵을 받아 전리(田里)에 유배되었다. 그러나 흥왕사(興王寺)의 변 이후 다시 발탁되어 궁중에서 서무(庶務)를 맡았다.
1365년 첨의평리(僉議評理)가 되었다. 신돈(辛旽)이 기용된 뒤, 옛날 공신(功臣)들은 거의 제거되었으나, 무인으로 글자를 알지 못하므로 신돈이 꺼리지 않아 무사하였다. 그러나 신돈의 비행이 자주 목인길에게 드러나자, 왕에게 고할까 두려워한 신돈이 참소를 하여 임군보(任君輔)의 변호에도 불구하고 전주로 유배되었다.
1367년 지도첨의(知都僉議) 오인택(吳仁澤) 등과 함께 신돈을 제거하기로 모의하다가 발각되어, 청주로 장류(杖流)되어 관노가 되었으며 가산을 몰수당하였다. 그 뒤 다시 기용되어 1374년(공민왕 23) 제주 토벌을 위한 전라도상원수(全羅道上元帥)로 발탁되었다.
우왕 즉위 후 찬성사(贊成事)가 되었고, 1377년(우왕 3) 문하찬성사(門下贊成事)가 되었다. 이 해 문하찬성사판판도사사(門下贊成事判版圖司事) 지윤(池奫)과 더불어 이인임(李仁任)·경복흥(慶福興)·최영(崔瑩) 등을 제거하기로 모의하였다. 그러나 도리어 이인임에게 밀고해 지윤의 족당을 모두 붙잡히게 하였다.
1378년(우왕 4) 군사들에게 화포 발사와 수전(水戰)을 훈련시키기도 하였다. 이듬해 말[言]실수를 해 이인임의 분노를 사 전라도로 출정하였는데, 여기에서 왜적을 무찔렀다. 1380년 대사헌 우현보(禹玄寶) 등으로부터 모반을 꾀한다는 무고를 받고 파직, 유배되어 그 곳에서 죽었다.