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