太平兴国三年(978),清源军节度使陈洪进献出自己管辖的土地,被封为检校太师。吴越王钱俶听说这件事情后,非常惊慌,赶紧上书朝廷,要求撤销自己吴越国王和天下兵马大元帅的封号,愿意解甲归田。
太宗不肯答应,钱俶麾下大臣崔仁冀告诉钱俶,太宗就是想要让钱俶献出土地。如果不肯,相信不日就要大难临头。钱俶迟疑,左右大臣还在拼命劝阻,只有崔仁冀高声说:“眼下我们君臣的性命都在宋主手里,如果不能见机行事,恐怕要陷入危机。”钱俶听了崔仁冀的话,第二天就献上自己拥有的十三州土地。太宗封钱俶为淮海国王,吴越国灭。
东南之地已都在大宋的掌控之中,但太宗并不满足,他想要一统天下,于是提出北伐的想法。除了曹彬外,其他朝中重臣都觉得不可。曹彬认为,如今国家强盛,兵甲精锐,正是一举攻破太原的好机会。
太宗得到曹彬的支持,便派潘美做北路招讨使,率领崔彦进、李汉琼、刘遇、曹翰、米信、田重进等人进攻太原。邢州判官郭进为太原石岭关都部署,负责阻截援军。
北汉刘继元听说宋军又来了,就故技重施,向辽求救。辽在天宝八年(975)的时候已经和大宋重修旧好,不便直接出兵,就让人询问太宗为什么要讨伐北汉。太宗回答说:“北汉违抗圣命,应该问罪。如果你们不援助北汉,我们的和约就仍有效,否则就开战。”
辽与北汉交好,所谓的询问不过是走个流程。太宗觉得会有激战,便打算带着赵廷美亲征。抵达镇州的时候,郭进传来捷报,把辽兵挡在了石岭关外。太宗大喜,马上从镇州出发,直逼太原。潘美一路与汉兵交战,也是屡战屡胜,兵至太原城下。于是,各路大军将太原围困起来,从春天打到夏天。汉主刘继元在太原城中盼着辽兵能赶紧救援,他见辽兵久久不到,就派探子去辽催促。没想到,探子被抓住斩首,太原被彻底孤立了。
宋军围困太原城一个多月,太原城内粮草用尽,汉主刘继元才献上投降书。太宗带着军队进入太原城,接受北汉君臣的投降。北汉文武中,只有节度使刘继业不愿意投降。太宗欣赏他的忠勇,便让刘继元前去抚慰。刘继元派亲信向刘继业讲述投降的苦衷,刘继业大哭一场,为保全百姓,这才投降。太宗任命刘继业为右领卫大将军,还给了他很多赏赐。刘继业原本姓杨,被刘崇赐姓刘。北汉灭亡后,便恢复杨姓,以业为名,人称杨令公。
太原被攻克,太宗又把目光放在辽的幽州、蓟州。但此时士兵已经疲敝,粮草也不多了,潘美等人便对太宗进行劝阻。只有崔瀚认为,如今士气正旺,应该趁势进攻辽。太宗见有人赞同北伐,便带着军队一路北上,先后夺取易州、涿州、蓟州、顺州。幽州守将耶律学古拼命抵抗,但太宗亲自督战,宋军日夜猛攻,幽州城内军民逐渐陷入慌乱。
宋军探子前来禀告,说辽相耶律沙前来救援幽州,已经抵达高粱河。太宗见幽州一时不能攻下,便决定前往高粱河阻击耶律沙。抵达河边的时候,他遇到了数万辽军。两军交锋,杀得天昏地暗。
几个时辰后,辽兵敌不过宋军,开始后退,宋军在太宗的指挥下开始追击。没想到,这是辽军的伏兵之计。宋军人困马乏,根本没办法抵御,被杀得大败。太宗在将领的掩护下,仓皇逃走。辽军一路追杀,幸好杨业等人率军赶到,才救了太宗的性命。
杨业与杨延朗父子遇到被辽军追杀的潘美,于是设下埋伏,杀死大量辽军,缴获无数军械。一行人走到定州才与太宗会合,太宗命孟玄守定州,崔彦进守关南,刘廷翰、李汉琼守真定,崔瀚、赵延进居中支援,自己回了汴梁。
太祖的儿子赵德昭也随着部队出征,攻打幽州。宋军大败时,找不到太宗,诸将都怀疑太宗死了,便打算立赵德昭为帝。太宗知道这件事情后,非常生气,赵德昭却没看出来。
太宗回京后,一直没有给将士们发赏赐,导致将士们心怀不满。赵德昭怕发生兵变,进谏太宗,催促他论功行赏。话还没说完,太宗便怒目圆睁说:“赏?赏什么赏?战败回来,哪里有什么功劳?”
赵德昭争辩说:“不可一概而论。征辽虽然失利,但讨伐北汉却是成功了,陛下应该分开考量,论功行赏。”被反驳的太宗勃然大怒说:“那等你当上了皇帝,再赏也不迟!”
这样重的话让赵德昭非常难受,回到家中久久不能释怀,越想越难过。他父母早早过世,自己无依无靠,继母宋氏和弟弟赵德芳一个被软禁在西宫,一个年幼无知,他连个倾诉的人都没有,想来想去,便觉得了无生趣,拔剑自刎了。
等到有人发现的时候,赵德昭早已死去多时。太宗得知后,悲痛万分,涕泪齐下,说:“这傻孩子,怎么这么糊涂啊!”随后命人好好安葬赵德昭,追封他为魏王。太宗按照赵德昭生前所说,就平汉一事论功行赏。
宋军被击败,辽主还不罢休,派了耶律沙、耶律休哥等人进犯镇州。刘廷翰与崔彦进、李汉琼等人商议对策,崔彦进认为,宋军新败,正面交锋恐怕要吃亏,不如诈降,设下伏兵。刘廷翰担心耶律休哥识破计谋,李汉琼便打算先送去粮饷,取信耶律休哥。刘廷翰同意了,派出士兵进入辽军大营,拿出粮食投降。
辽南京留守韩匡嗣见到粮食,马上就答应了。耶律休哥果然起了疑心,两军还没交锋,宋军怎么就投降了呢?韩匡嗣则认为,宋军连粮食都送来了,可见投降的诚意。更何况,辽军士气正盛,宋军害怕也是理所应当的。况且,即便诈降,以宋军现在的情况也没什么好怕的。耶律休哥见韩匡嗣不听劝告,只好管住本部士兵,让他们只听从自己的号令。
刘廷翰听到使者的回报,便让李汉琼带一万步兵在城东埋伏,崔彦进率领一万步兵在城北埋伏,又与崔瀚和赵延进约好,连夜发兵,前后夹击辽军。
第二天,刘廷翰打开城门,自己率军在城西埋伏。韩匡嗣为前队,耶律沙为后军,抵达镇州。韩匡嗣正要进城,辽军将领刘雄武赶紧阻止他,说:“既然宋军已投降,怎么城内外不见一个人?”韩匡嗣这才发现情况不对,但已经太晚了。一声炮响,埋伏的宋军从各处杀出,韩匡嗣吓得拍马就走。前军的混乱冲散了耶律沙率领的后军阵形。耶律沙没办法,只好率领部众后退。
但辽军背后早有宋军埋伏,两面夹击之下,韩匡嗣和耶律沙靠着部将拼命保护才没被杀死。幸好耶律休哥早有防备,率领本部士兵救出韩匡嗣、耶律沙等人。宋军追了一阵,夺得粮草军械无数,随后向朝廷报捷。
太宗并没有因为击退辽兵而沾沾自喜,因为辽兵很可能会卷土重来,进攻代州。此时,选拔良将驻守代州成了当前第一要务。太宗认为,杨业熟悉边境情况,智勇双全,就任命他为代州刺史。杨业马上带着儿子杨延玉、杨延昭奔赴代州。抵达代州后,他不顾天寒地冻,亲自监督修城。
太平兴国五年(980)春天,辽再次进攻。耶律沙、耶律斜轸带领十万大军来到雁门关。雁门关是代州门户,绝对不能丢掉。于是,杨业便与两个儿子商议对策。杨延昭说:“孩儿觉得应该从小道出击,袭击辽兵背后,出其不意取胜。”
杨业也是这样想的。宋军兵力还不到辽军的一半,不偷袭的话根本没办法取胜。于是,杨业便率领数千名精兵,绕道雁门关北口。这个夜晚,没有星光,也没有月光。杨延玉带领三千兵马从左路杀入,杨延昭带着三千兵马从右路杀入,杨业亲率一百骑兵直捣中坚。三路兵马趁着夜色来到辽营附近,直冲进去。耶律沙、耶律斜轸料到宋军会趁夜突袭,但没想到会是从关外背后袭来,一时之间慌了手脚,落荒而逃。辽兵在黑暗中互相踩踏,死伤无数。
父子三人杀退辽兵,回到雁门关清点战损,发现只有几十人受伤。回到代州,他们向朝廷报捷。此一战彻底让杨业打出名气,让辽人胆寒。辽人还为他取了个“杨无敌”的绰号,只要远远看见杨业的大旗,便立刻退走。
宋太宗挟师数十万,乘胜伐辽,而卒为辽将所乘,几至身命不保,宋军自此胆落矣。镇州之捷,雁门关之胜,均不过却敌之来,不能入敌之境,且皆由用智徼功,然则全宋兵力,不能敌一强辽,可断言也。德昭之自刎,本应与廷美之死,联络一气,然事相类而时有先后,太原之赏不行,德昭之言不纳,于是德昭愤激自刎。坊间旧小说中,有称德昭为八大王,至真宗时尚辅翊宋廷,此全系臆造之谈,固不值一辩也。