1047년(문종 1) 전중시어사(殿中侍御史)가 되고, 1060년 지상서이부사(知尙書吏部事)가 되었으며, 좌산기상시동지중추원사(左散騎尙侍同知中樞院事)를 지냈다.
1065년에는 참지정사(參知政事)로 지공거(知貢擧)가 되기도 하였으며, 1068년 판상서병부사(判尙書兵部事)를 거쳐 평장사(平章事)에 이르렀다. 사숙(私塾)을 세워 후진 양성에 노력하니 그 문하생들을 양신공도(良愼公徒)라 불렀다. 이는 고려 12공도(十二公徒)의 하나로 사학(私學)의 발전에 공헌하였다. 시호는 양신(良愼)이다.