太平兴国二年（977年）丁丑科状元。授将作监丞，通判升州。太平兴国五年（980年），拜左补阙，知制诰。端拱元年（988年），罢李昉，拜户部尚书、中书侍郎、同中书门下平章事、监修国史。淳化二年（991年），因自己所提拔的妻族谏官宋沆事，被贬为吏部尚书。淳化四年(993年)，复中书侍郎、同中书门下平章事、监修国史。至道元年（995年），授尚书省左仆射、判河南府兼西京留守。宋真宗咸平四年（1001年）第三次拜相，同中书门下平章事、昭文馆大学士。咸平五年（1002年），拜司空，授门下侍郎