丘主簿，改任度支员外郎。王曾称他有公辅之器。夏竦经略陕西，推荐其才，改任六宅使、泾原路（治所在今甘肃省平凉市）、秦凤路（治所在今甘肃省天水市）安抚都监。后知绛州，改京西转运使。历任户部判官、知邓州、濠州。累迁开封府推官、侍御史知杂事。因为论事激直，指斥张贵妃和宦官杨怀敏，为宋仁宗所不悦。让他以天章阁待制出知庆州，改任龙图阁直学士、知秦州，后知开封府。至和二年（1055年）兼侍读，拜御史中丞。论时事无所畏避，曾奉命出使契丹国。嘉祐三年（1058年）擢升为枢密副使。嘉祐五年（1060年）拜参知政事、枢密使，与韩