太平兴国二年,太宗赵光义下诏改名为炅。等太祖下葬后,太宗就将开宝皇后迁居到西宫。太宗的原配尹氏是滁州刺史尹廷勋的女儿,婚后不久便死了。后来,太宗娶了魏王符彦卿的第六个女儿,符氏也于开宝八年病逝。太宗继位称帝后,追封尹氏为淑德皇后,符氏为懿德皇后,中宫一直没有定下来。后宫有个李妃,深受太宗宠爱。她生的两个女儿,先后夭折,不久生了个儿子,起名为元佐,封为楚王。后来又生了第二个儿子,起名为元侃,就是将来的真宗皇帝。太宗即位的时候就想册立李氏为后,偏偏李氏生了病,并且病情越来越严重,于太平兴国二年夏天去世。第二年,潞州刺史李处耘的二女儿入宫。在雍熙元年,太宗将她册立为皇后。
太平兴国三年三月,吴越王钱俶与平海军节度使陈洪进相继入朝。陈洪进是泉州人,原是清源军节度使刘从效的手下。刘从效死后无子,由他兄长的儿子刘绍镃继位。刘绍镃当时年幼,陈洪进将他送到了南唐。南唐主李煜任陈洪进为清源军节度使。后来,宋太祖平定泽州、潞州,攻下扬州,又攻取了荆州、湖州,威震华夏。陈洪进非常惶恐,急忙派手下魏仁济上表宋朝,称自己是清源军节度副使,暂时掌管节度使的大印,愿意听凭宋廷处置。
乾德二年,太祖下令改清源军为平海军,任陈洪进为节度使。太平光国三年,太宗加封陈洪进为检校太师。陈洪进随后献上漳州、泉州,太宗加封陈洪进为武宁节度使、同平章事,在京师赐给他一座宅子。因为陈洪进献出土地,于是朝廷就命令包括吴越在内的十三州也把土地献出。吴越王钱俶听说陈洪进纳土一事后,十分震惊,上疏请求去掉自己吴越国王以及天下兵马大元帅的封号,情愿解甲归田,终享天年。太宗不答应。钱俶的大臣崔仁冀进言说:“朝廷的意思,不用说也知道。大王如果不速速缴纳土地,就要大祸临头了。”钱俶迟疑不决,左右争相上谏阻拦。崔仁冀又高声说:“眼下我们君臣的性命,都在宋主手中,吴越距这里有几千里路,除非长了翅膀还能飞得回去,否则怎么逃脱呢?不如见机行事,以免陷入危机。”钱俶听了这番话,第二天就上疏朝廷,表示愿将十三州土地一并献上。太宗非常高兴,当即封钱俶为淮海国王。吴越从钱镠开始,经历五世,共八十一年。
大宋尽收东南之后,太宗又想一统天下,准备兴师北伐。左仆射薛居正等人都不赞成,只有曹彬一个人说可以。曹彬说:“国家强盛,兵甲精锐,如果现在进攻太原,必定势如破竹,马到成功!”太宗随即决定起兵,任潘美为北路招讨使,率崔彦进、李汉琼、刘遇、曹翰、米信、田重进等人分兵四路,进攻太原。又命邢州判官郭进为太原石岭关都部署,阻截燕京、蓟州的援师。
北汉主刘继元听说宋师大举进犯,急忙派人向辽国求救。在开宝八年时,辽国曾经和大宋互派使臣,重新修好。辽主于是派人去问太宗伐汉的原因,太宗说:“北汉违抗圣命,应当问罪。如果你们不去援助北汉,和约还有效,否则我们只好开战。”使臣悻悻离开。太宗料定辽国会援助北汉,到时候难免会有激战,便下诏亲征,借此鼓舞士气。太宗令齐王赵廷美掌管朝廷事务,赵廷美也很乐意。开封判官吕端对赵廷美说:“皇上冒着危险亲征,你应该身先士卒,随他一起去。要是留下来掌管朝中大事,恐怕不妥,还请你三思啊!”赵廷美于是上书太宗,请求同行。太宗就改命沈伦为东京留守,王仁赡为大内都部署,自己带着赵廷美等人北征。
走到镇州,郭进传来捷报,已将辽兵击退在石岭关外。太宗大喜。原来辽主得到使臣的回报,就派宰相耶律沙为都统,冀王敌烈为监军,领兵救汉。走到白马岭的时候,远远看见宋军在前面扎营。耶律沙对敌烈说:“前面有宋军把守,不宜轻进,我军先在这里扎营,禀报主子,让他派援兵来。”敌烈说:“你也太胆小了。我看前面的宋兵最多不过一万人,我们兵力相当,何不趁着锐气杀过去?你若是害怕,就在后面压阵,看我上前踏平宋营。”耶律沙说:“不是害怕,只是出兵打仗还是小心为好。”敌烈不听劝告。耶律沙急忙派人回去报告辽主,然后跟随敌烈前行。大约走了一里多,来到山涧旁,敌烈自恃骁勇,率先渡河。猛然间听到一声炮响,宋军从营内杀出。辽兵还没有摆好阵势,宋军已经到了眼前。辽兵吓得手忙脚乱,魂飞魄散。敌烈不管死活,还是向前乱闯,凑巧碰着郭进,两人酣战了起来,战了三四十个回合,郭进瞅准机会,手起刀落,把敌烈劈落马下。那时耶律沙还没有渡涧,正想着上前救应,前面的辽兵已经逃回,反而冲乱了耶律沙的军队。宋军乘胜追击,竞相渡涧,斩杀了无数耶律沙的部下。耶律沙无法抵挡,只好策马返回。辽兵只恨腿短,逃得不快。宋军毫不留情,紧紧追过去,见一个杀一个。郭进下令,必须抓住耶律沙,才可以收军。军士得令,奋力追赶。不料斜刺里杀到一支人马,截住宋军,来救辽兵。耶律沙仗着有一支生力军接应,才勉强敌住宋军。郭进见辽国有了援兵,当即勒马,停止追击。耶律沙也引兵退回。两军各自退下休整去了。
郭进回到石岭关,上疏报捷。太宗随后从镇州出发,进逼太原。潘美这边多次打败汉兵,直抵太原城下,筑起长围,四面合攻,从春天到夏天,累攻不息。城中一心等着辽兵前来援救,见这么久援兵还不到,就派探子从小路去辽国,奉上蜡丸帛书,催促援师。谁知辽国的援兵被郭进击退,派出去的探子也被宋军捉住,斩首示众。刘继元得知后非常恐惧,多亏刘继业入城助守,昼夜不敢松懈,北汉才得以苟延残喘。
太宗到了太原城下,亲自督战。众将士奋力攻扑,毁去无数城墙,却还是让刘继业冒险修堵住了。太宗见无法攻克城池,就写下手谕,劝刘继元投降。无奈守城士兵毁掉了太宗的手谕,刘继元也无从得知。太宗再次下令攻城,城上飞箭、巨石像雨点一样,击退了宋军。马军都军头辅超,气愤得不得了,大声喊道:“小小的城池有这么难攻吗?壮士们快快随我来,登城立功!”呼延赞等人踊跃而出,跟着辅超架梯而上。辅超攀墙登城,正好被刘继业看到,急忙命长枪手去刺辅超。辅超用刀格斗,不肯退步,怎奈双手不敌四拳,被戳伤好几处,不得已只好退回城下。辅超脱下战甲察看,身受十三处重伤。太宗看他这么忠勇,当即赐给他锦袍银带,并让他在后营休息。辅超不肯休息,说明天早上一定要入城。
到了第二天早上,辅超果然策马跃出,又去登城。等架好云梯,身上已经中了八箭,他左手持盾,右手执刀,还准备冒死直上。太宗得知后,连忙传令辅超回营,辅超才保全性命。太宗随后禁止士兵登城,只命弓弩手排列阵前,轮流向城中射箭。宋军每次发射都是几万支,箭都插在城上,城墙就像刺猬一样。刘继元用十文钱买一支箭,大概收回了数百万支,然后射还给宋军,这样又支持了一个多月。城内没有外援,粮道又被截断,十分危急。太宗再次射入书信招降将士。城中宣徽使范超出城投降,宋军怀疑他是奸细,没有细问,就将他一刀斩为两段。刘继元听说范超降宋,将范超的妻子儿女全部杀死,扔到城下。太宗这才得知范超是冤枉的,又看到他一家老小的尸首,不禁悲痛起来,命将士置棺殓葬,亲自前去祭拜。城内的守将们瞧见,都非常感动。指挥使郭万超偷偷派亲信前去投降,太宗与他折箭为誓,表示决不加害于他。郭万超于是投奔宋营,太宗对他格外优待。此后,刘继元帐下的将领多半跑出去投降。
太宗再次颁诏让刘继元投降。这诏书送到城下,城里总算接待了宋使,将他引见给刘继元。刘继元读完诏书,沉思了半天才说:“承蒙宋天子以礼相待,谨当遵旨!”随后,宋使出城复命。等了半天,还不见刘继元出来投降,宋军怒不可遏,决定攻城。太宗和将士们说:“一旦攻城,难免伤及百姓,不如再等待片刻。如果明天刘继元还不投降,我们就攻城。”宋军这才退去。这天下午,刘继元派李勋奉表请降。太宗赏赐李勋锦衣玉带,又派薛文宝和李勋一起入城,宣读圣谕。第二天黎明,太宗亲临城北,登上城台。刘继元率领北汉的文武百官出城,缟衣纱帽,在台下待罪。太宗传旨将他们一律赦免,并封刘继元为检校太师右卫上将军,授爵彭城郡公。刘继元叩首谢恩。太宗随后让刘继元去带领宋军入城。偏偏这时城上一位银盔金甲的大将高声喊道:“主子降宋,我却不降,愿与宋军拼到底!”宋军仰头一望,那大将不是别人,正是北汉节度使刘继业,立即奏报太宗。太宗非常欣赏刘继业的忠勇,很想引为己用,就令刘继元前去好言抚慰。刘继元派亲信入城,向刘继业讲述自己不得已的苦衷,劝他为保全百姓,屈志出降。刘继业大哭一场,朝北面跪拜之后,才打开城门,迎入宋军。太宗入城后,召见刘继业,任命他为右领军卫大将军,并重重赏赐他。刘继业原姓杨,太原人,因为在刘崇手下做事,所以赐姓为刘。刘继业降宋后,仍然恢复原姓,并以“业”字为名,人称杨令公。到这里北汉也灭亡了。