到了此时,辽国的两路援军都已被宋军击退,北汉已经没有了外援,只能是困守一作孤城,形势更加危机,在这种巨大的压力之下,晋阳城内原本就极度紧张的君臣关系已到了一触即发的边缘。早在赵匡胤给北汉送去招降诏书之后,刘继元和郭无为立刻就变得貌合神离。郭无为一心想着投降,不但对刘继元屡次劝谏,还暗中和北宋派来的间谍来往。此前赵匡胤曾命一个叫做惠璘的人,诈称是宋军的殿前指挥使,因负罪而投北汉,这一招早在三国时期黄盖就曾使用过了,自然是瞒不过老道出身的郭无为,当场就被他识破,可是尽管郭无为看出了惠惠璘的真实身份,却仍然将其任命为供奉官,目的就是想把他当作与北宋联系的秘密通道。宋军入境后,惠璘赶往投奔,可惜这个人间谍做得实在是很失败,没跑出多远就被抓了回来,郭无为本来不想深究,就擅作主张将他放了,可是北汉朝里有个叫做李超的官员,还是很有原则,竟然把这件事原原本本报给了刘继元。这一来,郭无为也就无力再对惠璘进行包庇了,恼羞成怒之下,竟把惠璘连带李超一并杀了。
这件事情,可以看成是郭无为与刘继元之间矛盾的第一次表面化,不过这个事情发生后不久,宋军就开始撤军了,北汉的形势稍有缓解,郭无为的投降心情也就不那么迫切了,他对刘继元立有定策之功,又手握军政大权,刘继元也不敢跟他轻易翻脸,所以对他诛杀李超一事假装并不知情,两人关系尚能维持。
可是转眼之间宋军又杀了回来,这一次还是赵匡胤御驾亲征,北汉的形势又告危急,郭无为再也坐不住了。当年三月某天,辽国派来册封刘继元的使者韩知范到了,刘继元也于次日专门召来了一场非常隆重的宫廷酒会,把国内各界头面人物全都邀请过来,为辽使接风洗尘,气氛非常热烈。可就在这个时候,身为北汉首席宰相的郭无为却突然当众大哭一声,紧跟着就拔剑自刺。刘继元见状,急忙跑下去拉住郭无为的手说道:“老相国,你这是在搞什么名堂?今天我们设宴款待上国使者,你这个做法很不和谐嘛!”郭无为哭道:“宋军以至城下,奈何以孤城抗百万之师乎!”刘继元闻言立刻沉默不语。
这件事情,使刘继元和郭无为的矛盾彻底激化,因为刘继元作为一国之君,绝不肯轻易投降,郭无为在辽使面前让他下不来台,已令他对郭无为恨之入骨,只是没有当场发作而已。此事过去不久,辽国的两路援军就先后被宋军打退,郭无为就再也难耐不住投降的迫切心情了,便对刘继元谎称准备趁夜出城劫营,有意甩开刘继元,自己去向宋军投降。
刘继元不知是相信了他,还是想让这个投降分子露出原形,就同意了他的请求,并拨给他一千精甲士卒,自己更是亲赴城门为其送行。本来郭无为此行就是为了向宋军投降,而且值此宋、汉相争的紧要关口,郭无为只要能找到宋军就一定会被赵匡胤利用,投降的计划就算是成功了。可惜这个人的命实在是不太好,本来当天晚上天气晴朗,很适合去做投降运动,可等郭无为刚走到北桥时却突遭夜雨,是时夜幕深沉,风雨交加,郭无为事先没能跟宋军取得联系,不敢再往前走了,只好率部返回城中,也就丧失了这次对宋军投降的绝好机会。回到城中,郭无为觉得非常丧气,但还没忘了劝说刘继元投降,却不知此时刘继元已经对他起了杀心。不久之后,郭无为再次进宫对刘继元游说,却突然被刘继元传令拿下,随后当众公布了他与北宋暗中交通的罪状,斩首示众。
晋阳城内这一场君臣内斗,虽然没能引起巨变,但因为郭无为毕竟在北汉当政多年,还是对城内的局势造成了相当大的影响,可惜这个时候宋军的攻势也受到了一定的阻碍。当年五月,赵匡胤传令将汾河水引入新堤,开始灌城,又命水军乘船对城发起强攻,内外马步军都头王廷义为鼓舞士气,亲自带队攻城,却不想被流矢射中面门,于两日后不治而亡。就在王廷义死后的次日,殿前都指挥使石汉卿再度率军,但还没等他靠近城池,就被汉军一箭射落水中,当场溺死。三日之内连折两员大将,给宋军的士气造成了相当大的打击,赵匡胤只好传令对晋阳缓攻。
闰五月,战局突然又向有利于宋军这一方发生了变化,经过一个月的浸泡,晋阳南面城墙开始出现大面积剥落,进而导致了一段城墙坍塌,大水咆哮而进,城中大为惊扰。赵匡胤闻报大喜,亲自登上长堤指挥攻城,此时城墙裂口被水越冲越大,汉军又受阻于宋军的强弩而不能进行修复,眼看着就要破城了,可突然间又从城中漂出无数积草,将水口堵住,水势一下子缓解下来,宋军的强弩也被积草挡住不起作用,北汉兵便趁此机会,转眼的功夫又将裂口修复起来。
此时,距宋军围城已近半年,大军劳师远征,人困马乏,又赶上时至盛夏,连日暴雨,宋军驻军于城外草地,患足疾腹病者不计其数,内部消耗非常严重。而辽国又派来北院大王乌珍率援兵赶到,驻军于晋阳城西,与城中互举烽火,遥相呼应,也给宋军造成一定的压力。赵匡胤面对这种情况也是左右为难,有心想要撤军,又觉得晋阳已经不能坚持太久,有心继续强攻,又感觉消耗实在太大,而正在此时,后方突然传来消息,右仆射魏仁浦病故。
魏仁浦的资历非常老,早在后周时代就已经入阁,到北宋开国后,赵匡胤对他也是十分倚重,凶报传来,赵匡胤震悼良久,情不自禁回想起出兵前与他的那场对话。当时赵匡胤曾向魏仁浦问道:“朕欲亲征太原,如何?”魏仁浦则回答道:“欲速则不达,惟陛下审思。”这明显就是反对赵匡胤出兵,不过赵匡胤并没有因此而不快,反而赐给他十坛酒、一百只羊作为奖励。而今,魏仁浦已经死了,但他说过的那句话却在赵匡胤的脑海中更加清晰,什么叫“欲速则不达”?他说的仅是征服一个小小的北汉,还是平定整个天下?自己在没有彻底征服南方的前提下就急于对北汉出兵,是否真是有些操之过急?
就在赵匡胤正在为这次出兵北伐而陷入深深沉思的同时,晋阳之战仍然在异常激烈地进行着,东西班都指挥使李怀忠率众猛攻城池,不幸被流矢射中,生死难卜,其余诸班卫士见了,纷纷跪倒在赵匡胤面前,冒死请战,场面非常感人。但在这个时候,赵匡胤却对他们说了一句更加感人的话:“汝曹由我亲自选练,皆有以一敌百之勇,所以备肘腋,同休戚也。我宁不得太原,也不忍驱汝曹冒锋刃,蹈必死之地乎!”此言一出,赵匡胤身前哭声一片。
仗打到这个样子,赵匡胤已经不想再坚持下去了,正巧此时太常学士李光赞又呈上一道表章,其上写道:“陛下应天顺人,体元御极,战无不胜,谋无不臧,四方恃险之邦,僣窃帝王之号者,昔日与中国为邻,今日与陛下为臣。蕞尔晋阳,岂须亲讨,重劳飞挽,取怨黔黎,得之未足为多,失之未足为辱。国家贵静,天道恶盈,所虑向来恃险之邦,闻是役也,竭府库之财,尽生民之力,忠心踊跃,各有窥觎。岂若回銮复都,屯兵上党?使夏取其麦,秋取其禾,既宽力役之征,便是荡平之策。惟陛下裁之!”赵匡胤揽表甚喜,再去咨询赵普,赵普也是这个意思,赵匡胤也就不再犹豫,随即传令撤军,宋军此次对北汉的军事行动到此正式结束了。
赵匡胤两次出兵北汉而徒劳无功,其原因是多方面的。一来晋阳自古即为河东重镇,城防坚固,给宋军的军事行动造成了相当大的困难。二来辽国在宋军攻打北汉的过程中,屡次出兵相助,也对宋军起到了一定的牵制作用。当然,这里最重要的原因,还要说这次出兵与北宋早已定下来的“先南后北”的大方针产生了冲突。因为在这个时候,南方各大割据政权还没有被完全消灭,赵匡胤不能不有所顾忌。
不过,赵匡胤在此时对北汉出兵也不能说就是个战略上的错误,毕竟这次机会还是非常难得。北汉自刘承钧死后就接连爆出内乱,先是臣弑君,后又君杀臣,乱得一踏糊涂,赵匡胤自然不会轻易放过这样好的战机,打得下来当然更好,打不下来转身即退,对自己也毫发无伤。而且这次出兵,也给北汉造成了相当沉重的打击,自宋军入境开始,北汉军队就屡屡战败,损失惨重,宋军撤走时,又将太原附近的百姓统统迁往山东、河南等地,使北汉人口大规模外流,元气受到极大损伤。到战争最后结束时,北汉已是国库空虚,徒余四壁,最后还是靠捡宋军遗弃掉的一些军需物资才得以勉强度日,等于是被宋军一仗打回了建国前。
此后几年里,赵匡胤又把主要精力投向了南方,而北汉在遭受了这场致命打击后,与北宋争锋的念头,已是连想都不敢去想了,只能是加倍地巴结辽国以图自保,国中事无巨细都要先向辽主禀明后再做决定。双方就这样暂时安定了下来,但等到赵匡胤征服南唐后,这样的局面就已经没有其存在的基础了。
开宝九年(976年)八月,也就是在北宋征服南唐后的第九个月,赵匡胤就以侍卫马军指挥使党进为河东道行营马步军都部署,以宣徽北院使潘美为都监、以虎捷右厢都指挥使杨光美为都虞候,连同大将牛思进、米文义等部兵分五路征讨北汉。此时,北宋在南线的战事都已结束,可以全力以赴地对北汉发起进攻,宋军各部在党进的率领下,气势如虹,一路摧关拔寨,于八月二十二日就直抵晋阳城下,随即分兵攻打忻、代、汾、沁、辽、石等州,大有一举荡平北汉之势。