宋天禧三年(nian)(1019年(nian))中進士,曾擔任(ren)(ren)(ren)宜州(廣(guang)西)、夏(xia)州(湖北)、安州(河(he)北)、無錫(xi)(江蘇)縣宰、推官,后改任(ren)(ren)(ren)大理寺丞(cheng)。任(ren)(ren)(ren)期內(nei),其母謝世,為守孝而寓居揚州。景祐元年(nian)(1034年(nian))舉賢(xian)良方正,遷禮部員外郎,后出任(ren)(ren)(ren)洪州(今江西南昌(chang))通判(pan),不久又(you)調往(wang)揚州。因曾上(shang)疏皇帝諫議十條,由此被選(xuan)入直史館,為開封(feng)府推官、三司鹽鐵判(pan)官。
寶元(yuan)元(yuan)年(1038年),安(an)化(在今甘肅省(sheng)安(an)化縣)一帶的少數民族首領蒙光月(yue)率領部眾攻打宜(yi)州(今廣西(xi)宜(yi)山縣一帶),他遂向(xiang)朝(chao)廷提(ti)出“制蠻”方案,朝(chao)廷采(cai)用(yong)其策略,平定(ding)了(le)蒙光月(yue)之亂。以(yi)后他繼續(xu)向(xiang)皇(huang)帝上言,陳述(shu)治國主(zhu)張(zhang),提(ti)出爵賞宜(yi)慎(shen)重,擇官須(xu)謹慎(shen),明定(ding)薦(jian)舉原則(ze),規定(ding)各級人員著(zhu)裝服(fu)飾以(yi)端正禮儀(yi),用(yong)才須(xu)得當,注(zhu)重將帥的選拔,明辨忠(zhong)良奸佞,整頓(dun)邊防,加強戰備等,宋仁宗(zong)贊同并采(cai)納其建議。不久被任(ren)命為(wei)史館修(xiu)撰(zhuan),后又被提(ti)拔為(wei)知制誥、翰(han)林學士,不久再(zai)遷為(wei)尚書省(sheng)禮部郎中。
由于他博學多(duo)智,能言(yan)(yan)善辯,尤其(qi)喜論國家大事,言(yan)(yan)辯頗(po)為(wei)(wei)犀利,也常不經意(yi)地傷了他人。宋仁宗(zong)對(dui)此(ci)頗(po)為(wei)(wei)不悅,將其(qi)調(diao)(diao)出尚(shang)書省(sheng),改派(pai)為(wei)(wei)侍讀(du)學士、集賢殿修撰(zhuan)、河(he)陽(yang)(yang)(今河(he)南孟縣)知(zhi)府,不久又調(diao)(diao)為(wei)(wei)河(he)中(今山西永濟(ji))知(zhi)府。尚(shang)未到任,便(bian)因(yin)病離(li)開人世,卒葬于江蘇省(sheng)丹陽(yang)(yang)市城東硯(yan)山西北(bei)區。