1016년(현종 7) 문과에 급제하여 1035년(정종 1) 우습유지제고(右拾遺知制誥)가 되었다. 1052년(문종 6)에는 산기상시(散騎常侍)의 자리에 있었고, 1053년에는 지중추원사로 지공거(知貢擧)가 되었다.
1057년 상서좌복야 참지정사(尙書左僕射參知政事)에 오르고, 3년 뒤인 1060년에는 수사공(守司空)에까지 진출하였다. 이듬해 문하성에서 숙직하던 중 화재가 있었으므로 벼슬이 강등되어 좌복야가 되었다.
신분문제에 대하여 비교적 관대한 입장을 취하였으니, 강사후(康師厚)의 탈마(脫麻: 조정에 벼슬할 수 있는 자격을 허용하는 일) 문제에 대하여 “강사후의 증조인 강상귀(康上貴)는 직책은 비록 당인(堂引)이나 유림랑(儒林郎)을 겸임하였고, 아버지인 강서(康序)는 과거에 응시한 지 열번 만에 또한 탈마를 얻어 벼슬하였으니 강사후의 10년 동안 과거를 응시하기 위한 형설지공을 생각하지 않을 수 없으니 엎드려 바라옵건대, 또한 탈마를 허락하옵소서.”라고 한 내용은 널리 알려져 있다. 그는 1060년(문종 14)에 세워진 칠장사혜소국사비(七長寺慧炤國師碑)를 지었다.