太平兴国四年(公元979年)初,宋太宗亲率大军,兵分四路进攻北汉。他吸取后周世宗柴荣北伐失败的教训,先派出邢州判官郭进为太原、石岭关都部署,将辽朝援军拦截住,然而兵围北汉都城太原,断绝城中一切供应。结果北汉与宋军苦战至五月,苦等也无外援,北汉国主刘继元只好上表投降,北汉灭亡。这样,从907年朱温灭唐建立后梁,至公元979年宋灭北汉,持续了几十年的五代十国割据局面终于结束了。
宋太宗灭了北汉,信心倍增,就打算收复被后晋石敬瑭割让给契丹的燕云十六州。太平兴国四年(公元979年)六月,宋军灭掉北汉后,根本没有休整,就直接讨伐辽国。汉人把守的易州和涿州,很快就被攻破,宋太宗挥师直抵辽国南京(今北京)城南。宋军的进攻遭到了守城辽将耶律学古的顽强抵抗,双方相持不下。此时辽国名将耶律斜轸和耶律休哥率领的援军赶到。辽宋两军在高粱河展开大战,宋军被耶律斜轸和耶律休哥前后夹击,纷纷败退,宋太宗也险些被耶律休哥俘虏。后来宋太宗带着残兵败将,仓皇逃往涿州。
史家点评:
帝沈谋英断,慨然有削平天下之志。
——元·脱脱《宋史》