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