北宋永宁军博野(今河北蠡县)人,字天球。大中祥符四年(1011)举服勤辞学科。累官权知开封府,断讼不避外戚,后改三司使。景右四年(1037),迁参知政事,主张离间西夏及角厮罗,以收渔利。后以事罢政。皇右元年(1049),加同平章事判大名府,前后在任十年,修缮壁垒,以御契丹。长于政事,刘太后听政时,曾献《武后临朝图》。