본관은 보주(甫州: 지금의 경상북도 예천). 자는 덕명(德明).
음보(蔭補)로 예부주사가 되었고, 의종 때 과거에 급제하여 지방관으로 명주(溟州: 지금의 강원도 강릉)에 나아가 다스렸는데, 이때 도랑을 파서 논에 물을 대어 근면하고 청렴한 것으로 이름이 났다.
중앙으로 들어와 태상부녹사(太常府錄事)가 되었고, 다시 사문박사(四門博士)가 되었다가 각문지후(閣門祗候)가 되었다. 뒤에 지방관으로 진주에 나아가 선정을 폄으로써 명종의 부름을 받아 우정언이 되었다.
다시 간의대부(諫議大夫)·국자좨주(國子祭酒)를 거쳐 추밀원승선이 되었는데, 이 때 일을 처리하는 것이 왕의 뜻에 맞아, 왕이 일찍이 만나지 못한 것을 한탄하였으며 지주사(知奏事)로 승진되었다.
뒤에 추밀원사·어사대부가 되었으며, 불교를 혹신하여 세상사람들을 현혹시키던 전주의 요승 일엄(日嚴)에게 누하(樓下)에서 절을 하는 실수까지 범하였다.
1181년(명종 11)에 국자감시(國子監試)의 시원(試員)이 되어 홍영식(洪永植) 등 89명을 뽑았으며 1184년 동지공거(同知貢擧)가 되어 지공거(知貢擧) 문극겸(文克謙)과 함께 금극의(琴克儀) 등 진사 31명과 명경(明經) 5명을 뽑았다.
1188년 참지정사(參知政事)로 중서시랑평장사(中書侍郎平章事)가 되었으며, 73세에 세번 표문(表文)을 올려 사직을 청하여 수사공 중서시랑평장사 동중서문하평장사(守司空中書侍郎平章事同中書門下平章事)가 되어 치사(致仕)하였다. 시호는 문정(文靖)이다.