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