李昉主持贡举时,他的乡人武济川预选。不久后,武济川在奏对太祖时失当,李昉受牵连被贬为太常少卿,不久改判国子监。
开宝六年(973年)五月,李昉复任中书舍人、翰林学士。同年冬,判吏部铨选。当时,宰相赵普被卢多逊排挤,卢多逊多次向太祖告发赵普的过错,太祖在其后询问李昉此事,李昉回答说:“臣的职责是草拟诏书,赵普的所作所为,不是臣能知道的。”
太平兴国元年(976年),宋太宗赵光义即位,加李昉为户部侍郎,命他与扈蒙,李穆,宋白等同修《太祖实录》。
太平兴国四年(979年),李昉随太宗出征北汉。宋军回师后,李昉因功获授工部尚书兼翰林学士承旨。
太平兴国八年(983年),李昉改任文明殿学士。当时宰相赵普、宋琪任职已久,朝廷寻找能接替他们任职的人,李昉于宿旧大臣中最为突出,于是被任命为参知政事。同年十一月,赵普出镇武胜军,李昉与宋琪都被任命为平章事。不久,加监修国史,他建言恢复将时政记先进呈皇帝而后交付有关部门的惯例。
雍熙元年(984年),朝廷举行郊祀,任命李昉为左仆射,李昉再三辞让,便加任中书侍郎。宋军北伐幽蓟地区无法取胜,朝廷派使者分赴河南、河东,征发百姓参军,每八个壮丁中抽取一人为兵。李昉等相继对太宗说:“近来分派使者征发河南、河东四十多郡的百姓作为边境守备,是不得已的举措啊。但是河南的百姓一贯从事农业,不知战事,一旦征集起来,必然会导致动乱,如果百姓因此啸聚山林作乱,朝廷还必须剪除消灭。如果发生这种情况,那么河北的土地既被戎人(契丹)所困扰,河南百姓又作乱于民间,况且到了春季,此举妨碍农业耕作。陛下如果认为诏令已颁布,难以反悔,就应当再派使臣,严加戒令,所到之处少征发百姓,如果百姓情绪不安,就应该延缓此事,密令使者见机行事,才能免除后患。”太宗表示赞许,并采纳了李昉的意见。
端拱元年(988年),百姓翟马周击登闻鼓上告,讼称李昉官居宰相,在北方有战争的时候,不作边备,只知赋诗宴乐。举行籍田礼完毕后,太宗立即召贾黄中草拟诏令,贬李昉为右仆射,并严加谴责。贾黄中说:“仆射,是百官的表率和上级,实为宰相之任,现在李昉从工部尚书而迁任此职,不是黜贬斥责。如果说文昌政务简少,以均劳逸为借口,较为得体。”太宗认为这个意见很好。恰遇契丹犯边,太宗令文武群臣各自进献防御策略,李昉援引汉、唐先例,坚持认为应委屈己方与敌修好,停止战争、休养百姓,此建议为当时舆论所称许。
淳化二年(991年),李昉以右仆射之职兼任中书侍郎、平章事、监修国史,再次拜相。
淳化三年(992年)夏,天下发旱灾、蝗灾,又遇雨灾。当时李昉与张齐贤、贾黄中、李沆同为宰相,他们都以执政无能为由,上表请罪,太宗未加以怪罪。
淳化四年(993年),李昉因为家中连遭不幸,请求解除宰相职任,太宗不允,并派张齐贤等宣谕圣旨,李昉才又上朝处理政事。数月后,李昉被罢为右仆射。之前,太宗召翰林学士张洎起草诏令,任命李昉为左仆射,将其罢相。张洎说:“李昉官居治理政务的重任,却阴阳不调,不能决意引退,让他位处百官师长之任,怎么能表示陛下劝勉之意呢?”太宗览奏后,便下令贬斥李昉,让他只任右仆射。
淳化五年(994年),李昉年届七十,以特进、司空之职致仕归居,如遇朝会宴饮,令他居宰相班次之中,太宗每年对他的赏赐愈发厚重。
至道元年(995年)正月十五,太宗在乾元楼观灯,召来李昉,命他坐在身边,把自己杯中的酒倒给李昉,并亲自拿水果点心赐给李昉。太宗看见京师繁华,手指前面的街坊小巷及官府衙门,命近臣开拓为通衢长廊,于是谈论道:“后晋、后汉君臣昏暗、相互猜疑,枉屈陷害善良,当时百姓民不聊生,即使想准备宴席,哪里顾得上呢?”李昉说:“后晋、后汉的事情,臣都经历过,哪里能与圣朝同日而语呢?像现在这样天下清平,人民富康,都是陛下恭勤政事所致啊。”太宗说:“勤政忧民,是帝王常事。朕不是因为繁华而高兴,而是因为百姓安居乐业而高兴啊。”于是对侍臣们说:“李昉奉事朕,两次进入中书省,从未做过伤人害物之事,今日应当如此享受,可以算作是善人君子啊。”
至道二年(996年),李昉陪同太宗祭祀南郊,礼毕入贺,因为拜舞仆倒在地,被台吏扶着离开。李昉在卧疾数日后去世,享年七十二岁。获赠司徒,谥号“文正”。葬于今河北省饶阳县南12公里五公村东。
人物评价
李昉为人宽厚温和,不计旧恶,在相位时小心谨慎,没有显赫的名望。