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