본관은 칠원(漆原)이며, 군부판서(軍簿判書) 윤수(尹秀)의 손자이다.
1328년(충숙왕 15) 호군으로 원나라에 가서 모시와 종이를 바쳤다. 충혜왕 초에는 대언을 제수받았으나, 1332년에 충숙왕이 복위하자 전왕의 총애를 이유로 손기(孫琦) 등과 함께 하옥되었다가 장류(杖流)되자 원나라로 도망하였다.
1339년(충숙왕 복위 8) 조익청(曺益淸)과 충혜왕 측근의 불량배들을 제거하려다 참소를 입어 칠원군으로 추방되었다. 충혜왕이 복위하자 동지밀직(同知密直)이 되고 원나라로부터 행성원외랑(行省員外郎)이라는 관직을 받았다.
1342년(충혜왕 복위 3) 조적(曺頔)의 난을 진압한 공으로 1등공신에 올라 수성양절보리공신(輸誠亮節輔理功臣)호를 받고, 찬성사로 승진했으며, 원나라로부터 다시 행성낭중(行省郎中)에 제수되었다.
1343년 강릉교주도도순문사(江陵交州道都巡問使)로 임명되었으며 1349년(충정왕 1) 수성양절선력보리공신 칠원부원군(輸誠亮節宣力保理功臣 漆原府院君)으로 임명되었다.
1354년(공민왕 3) 찬성사가 되고 판삼사사(判三司事)를 거쳐, 1356년 수충협의동덕익찬공신(輸忠恊義同德翊贊功臣)호를 받고 좌정승으로 승진했다가 같은 해 관제 개혁과 함께 수문하시중(守門下侍中)에 임명되었으나 죄를 지어 유배되었다.
1360년 칠원후(漆原侯)로 봉해졌다가 칠원백(漆原伯)으로 고쳐 봉해졌고, 1365년 동서북면도통사(東西北面都統使)가 되었다. 1371년 신돈(辛旽)이 제거된 뒤 문하시중이 되었고 무인으로서 감춘추관사(監春秋館事)를 겸임하고 추성병의동덕섭리익찬공신(推誠秉義同德燮理翊贊功臣)호를 받았으나, 이듬해 파직되었다.
1377년(우왕 3) 북원(北元)으로부터 평장사(平章事)에 제수되고, 1380년 다시 문하시중에 올랐다. 다섯 왕을 섬겨 두 차례 수상(首相)을 지냈으며, 고향에 내려가 있을 때 큰 기근을 당하자 가재를 털어 빈민을 구제하였다. 시호는 충효(忠孝)이다.