宋朝建立初年,北方已經有了一個遼國。遼國是由契丹族建立的國家,開始就叫契丹,後來才改為遼。五代十國時期,後晉的開國皇帝石敬瑭,為了奪取後唐的天下,求契丹幫助。奪得天下以後,石敬瑭無恥地向契丹稱兒稱臣,做契丹的兒皇帝,並且把雁門關以北的幽、雲16州(今北京市及河北省、山西省北部一帶)割給了契丹。有了這幽、雲16州,契丹的勢力進一步強大,後來終於滅了後晉,改國號為遼,開始不斷南侵,跟五代最後一個朝代後周和繼之而起的宋朝發生了矛盾。
宋太祖趙匡胤的天下是利用兵變的手段取得的,他害怕自己的部下也用同樣的手段奪取他的天下,就解除了許多武將的兵權,改用文人治軍。這樣,慢慢地形成了一個重文輕武的政治局麵,國勢也就顯得比較衰弱,在跟北方遼國的戰鬥中,頂多隻能打個平手,有時達難免要吃敗仗。宋太祖的弟弟宋太宗趙光義在位的時候,為了想要收複幽、雲16州,曾經跟遼國打了一仗,開始取得了一些勝利,一直打到幽州邊上,後來遼國調動大批軍隊來應戰,宋軍在高梁河打了敗仗,隻好撤兵南歸。從此以後,宋遼之間的戰鬥不斷發生。在戰鬥中,雙方都出現了一些為本國立功的愛國英雄。楊繼業和他的兒子楊延玉、楊延昭,孫子楊文廣,都是宋朝很有名的愛國英雄,世稱“楊家將”。
楊繼業是並州太原(今山西省太原市)人。他自幼喜歡練武,擅長騎馬射箭,每次出去打獵,收獲都比別人要多。他頗為自負地對別人說:“他日我做了將軍帶兵打仗,對付敵人也就像用鷹犬追逐野雞野兔一樣。”楊繼業輕的時候,並州是五代十國中北漢的地盤,他一開始是在北漢皇帝劉崇手下做官,為北漢立下了汗馬功勞。因為他每戰必勝,所向無敵,所以別人稱他為“楊無敵”。
宋太宗統一全國,北漢並入宋朝版圖,楊繼業也就成了宋朝人。他先被任命為右領軍衛大將軍和鄭州刺史。後來宋太宗見他英勇善戰,熟悉邊界上的情況,就改任他為代州(今山西省代縣)刺史,守衛宋朝的北方邊境。
楊繼業帶兵能與士卒同甘共苦。代州在北方寒冷地帶,冬天朔風怒吼,大雪紛飛,人們都穿皮衣禦寒,可是楊繼業和士卒一樣,隻穿薄薄的棉襖,坐在四麵通風的軍營裏辦事,旁邊也不用火爐取暖。他對士卒的冷暖卻很關心,生怕把他們凍壞了,餓壞了,日夜在軍營中巡回,向士卒噓寒問暖,因此士卒都很擁護他,願意跟他一塊兒為國效力。
遼景宗耶律賢乾亨二年(宋太宗太平興國五年,980年)三月,遼國出動10萬大軍侵犯雁門關。雁門關是楊繼業所鎮守的代州的門戶,如果雁門關失守,代州門戶洞開,就無險可守了。楊繼業一麵調動軍隊,正麵狙擊敵人;一麵悄悄地率領數千名騎兵,從小路繞到雁門關北麵,攻擊敵人的後背。遼軍正在進攻雁門關,想不到背後來了宋朝的軍隊,他們摸不清對方到底來了多少人馬,害怕道到前後夾擊,嚇得四散奔逃。結果,楊繼業打了一次大勝仗。捷報傳到京城,宋太宗十分高興,提升楊繼業為雲州觀察使兼鄭州、代州刺史。從此以後,遼軍隻要望見楊繼業的軍旗,就趕快退兵。代州一帶的形勢暫時得到了緩和。由於楊繼業的威望大大提高,因此引起了一些官僚們的妒忌,他們背地裏上書給宋太宗,無中生有地說楊繼業的壞話。可是宋太宗根本不相信,他把那些奏書封起來送給楊繼業,表示對楊繼業的信任。
遼景宗於乾亨四年(宋太宗太平興國七年,982年)去世,年僅12歲的遼聖宗耶律隆緒繼位。宋太宗認為遼聖宗年幼容易對付,收複幽、雲16州的機會來到了。決定又一次出兵北征,收複失地。經過4年準備,宋太宗任命潘美為主將,楊繼業為副將,分兵3路,浩浩蕩蕩地向北進軍。東路軍由大將曹彬率領,作為主力部隊,進攻幽州;中路軍由田重進率領,進攻易州、蔚州等地;西路軍由潘美、楊繼業率領,進攻幽州、應州等地,並約定3路大軍取勝後在幽州城南會師,共同進攻幽州。同時,又派劉文裕為監軍,負責籌集糧草和3支隊伍之間的聯絡協調。