본관은 수안(遂安). 1011년(현종 2) 2월 이부원외랑(吏部員外郎)이 되었고, 1017년 3월 사헌중승(司憲中丞)에 올랐다. 1026년 정월 어사대부(御史大夫)가 되었다가 6월 우상시 지중추사(右常侍知中樞使)가 되었다.
이듬해 정월 중추원사가 되었고, 1029년 11월 상서좌복야(尙書左僕射)로 서경유수사(西京留守使)가 되었다. 1031년 4월 좌복야로 참지정사(參知政事)가 되었고, 1032년(덕종 1) 3월 내사시랑 동내사문하평장사(內史侍郎同內史門下平章事)가 되었으며, 8월 평장사가 되었다.
당시 고려에서 거란에게 압록강의 성과 다리를 허물고 억류한 사신들의 석방을 요청하였지만 거란에서 받아들이지 않음에 평장사 유소(柳韶)가 거란의 성을 공파하기를 청하자, 서눌(徐訥)·황보 유의(皇甫兪義) 등이 이를 반대하므로 왕가도(王可道)와 함께 출병을 적극 주장하였으나, 대묘(大廟)에 점친 결과에 따라 출병하지 않았다.
1034년 4월 추충좌리공신 상주국(推忠佐理功臣上柱國)이 되었고, 7월 문하시랑평장사가 되었다. 1035년(정종 1) 3월 다시 문하시랑 동내사문하평장사가 되었고, 또 다시 문하시랑평장사가 되어 치사한 후 1047년(문종 1) 12월 세상을 떠났다.