做文章，未行冠礼登进士第，历任监西京（即河南府，治所在今河南省洛阳市）税院事、知新息县，转任太常博士。嘉祐末年，为监察御史。请宋仁宗建储。宋英宗即位，历任殿中侍御史、起居舍人、右司谏、同知谏院。出使契丹还，担任侍御史知杂事，被他辞谢。因濮议中反对以濮王赵允让为皇考，被降职外调知和州。宋神宗即位，改知庐州、陕西转运使。熙宁三年（1070年），傅尧俞入京师，对王安石言新法不便，担任权盐铁副使。不久改任河北转运使、知江宁府。历任知许州、河阳、徐州。因事免官，复职，监黎阳县仓草场十年。宋哲宗即位，从明州召他为秘书少