본관은 정주(貞州)이다. 뛰어난 무략(武略)으로 등용되어 1071년(문종 25) 12월 급사중좌승선(給事中左承宣), 1073년 2월 병부시랑중추원지주사(兵部侍郎中樞院知奏事)가 되었다.
1075년 1월 중추부사가 되고, 이어 7월 지중추원사(知中樞院事)로 요나라의 사신과 함께 압록강 이동의 국경선을 획정하려하였으나, 획정하지 못하였다. 1078년 6월 이부상서를 겸했으며, 송나라의 사신이 오자 왕의 명으로 향연을 베풀었다.
1080년 3월 호부상서로 예부시랑 박인량(朴寅亮)과 함께 송나라에 사신으로 가다 저장(浙江)에 이르러 태풍을 만나 송나라에 바칠 방물(方物: 토산물)을 대부분 망실하였다. 이 때 송나라 신종(神宗)이 칙명으로 죄를 묻지 말도록 하여 왕이 석방하였다. 1081년 2월 태자빈객(太子賓客)에 12월 중추원사가 되었다.
1083년(선종 즉위년) 12월 참지정사(參知政事)가 되어 문하시랑평장사(門下侍郎平章事) 이정공(李靖恭) 등과 시정득실(時政得失)을 고하였다. 1086년 4월 중서시랑평장사(中書侍郎平章事), 이듬해 12월 수사공(守司空)이 더해졌다.
1088년 3월 왕명으로 전성(氈城: 延安에 있는 祭天壇)에 초제(醮祭)를 베풀었다. 이듬해 12월 새 집을 완성하자, 대복경(大僕卿) 이자의(李資義)로부터 왕의 조서(詔書)와 함께 하사품 은기(銀器)·필단(匹段)·안마(鞍馬) 등을 받았다.
1090년 2월 문하시랑평장사 판병부사(門下侍郎平章事判兵部事), 이듬해 1월 서북면병마사 겸 중군병마사(西北面兵馬使兼中軍兵馬使)를 겸해 병거(兵車)를 제작하여 구주지방의 방비를 충실히 할 것을 건의하고, 11월에 죽었다. 선종의 묘정에 배향되었고, 시호는 광숙(匡肅)이다.
『춘추좌전(春秋左傳)』과 병가(兵家)의 비결에 정통했으며, 나라에 외환이나 문제가 생길 때마다 고사를 인용한 방책을 세워 거의 해결하였다. 딸은 숙종의 비 명의태후(明懿太后)가 되었고, 소생이 예종이다. 명의태후는 문종 이후 인종까지 모든 왕비가 인주 이씨(仁州李氏)였으나 유일하게 채택된 타성의 왕비이다.