公元 963年,宋将李继勋进攻北汉,杨业与他的同僚在榆次一带战败后退守汾河桥,宋军夺桥后进逼到晋阳西城外,被杨业等北汉将领击退,这是史书中记载的杨业与宋军的第一次交锋。第二年,赵匡胤御驾亲征,杨业在争夺汾河桥的战斗中失利,损伤千余人后退回晋阳,正是这次战斗之后,杨业一度被解除兵权。一个月之后,杨业率领数百士卒出击围城的宋军,被宋将党进击退,杨业缒城回到晋阳。这一年五月,宋军在久攻不克、北汉的契丹援军赶到的情况下撤退,杨业与北汉诸将率兵追击,获得大量的军粮及战利品。此后,杨业在洪洞两度败于宋军,所部死伤千人。
其实事实未必如此,在与敌军的争战记录中,夸胜讳败是十分常见的,所以也就不难解释为什么交战双方常常在战后都宣称自己取得了胜利。杨业在一次次力量悬殊、寡不敌众的交锋中,所受的损失不过是死伤千人,这甚至没有超出一次战斗的正常消耗。北汉之所以能与北宋抗衡二十余年,以弱小的国势成为最后一个被消灭的割据势力,除了契丹远水难解近渴的军援、太原险固的地理优势之外,杨业等北汉将领功不可没,须知北汉王朝在最后倾覆的时候控制的民户只有三万五千二百余户,否则素闻杨业威名的宋太宗怎么会那样渴望收归杨业。遗憾的是,建国二十九的北汉王朝竟然没有设立史官,杨业忠心保卫北汉的战绩就这样在宋朝史官的笔下佚散无踪了。
事实上,抗拒北宋统一战争的杨业更是一位洞悉历史进程、顺应时代潮流的智者,正因为如此,他才建议北汉皇帝刘继元突袭契丹援军归降宋朝以实现民族的统一而共御外侮。杨业的建议被拒绝,但没有想到的是,坚守晋阳战斗到最后一刻的,不是据说素怀英气的刘继元,而是忠于职守的杨业,而且杨业是在接到已经投降的刘继元的命令之后,才在一腔悲愤之中解甲弃守的。前面说过,收复幽云十六州以及沦陷的其它三州始终是每一个中原王朝梦寐以求的理想,石敬瑭之后,中原王朝为收复幽云十六州而组织的北伐主要有四次。公元 946年,后晋皇帝石重贵北伐,这次北伐的结果是全军投降后晋灭亡。公元 959年,周世宗柴荣率领水陆两军北伐,一个多月的时间里收复了宁、莫、瀛、易四州,但却因为柴荣病重以及部分将领的异议而收兵,一个月后,柴荣病逝。二十年后,挟平灭北汉之余威,宋太宗赵光义想一鼓作气收复幽州,然而,这支刚刚攻占太原的胜利之师同时也是一支不堪再战的疲惫之师,最终惨败于高梁河战役,赵光义身中两箭,乘坐驴车仓惶南逃,收复幽云十六州的第三次北伐遂告失败。