隨著耶律休哥在公元988年敗於唐河,次年又在徐河之戰身負重傷,遼軍損失慘重,蕭太后認識到宋朝不可以輕易戰勝,於是宋遼雙方構築了一個平衡,直到宋太宗去世(公元997年),遼軍都沒有發動大規模的攻勢。不過平靜隨著宋太宗的去世而被打破,蕭太后趁著宋真宋繼位不久,決定舉兵伐宋。
鹹平二年(公元999年)七月,遼國以伐宋詔諭諸道,八月,對宋雁門瓶形寨、寧化軍進行攻擊。九月,遼“承天皇太后金壇拜將,玉帳運籌,因興丹浦之師,直指黃河之渡”,戰爭全面鋪開,但不幸的是著名將領耶律斜軫去世,其時,耶律休哥已經去世十個月了,但這些並沒有動搖蕭太后的決定,帶領10萬大軍南下伐宋,妄圖征服宋朝。
在同年七月,在遼方“詔諭諸道”的同時,宋朝也在做積極準備,不過和遼國一樣宋朝宿將也開始凋零,兩次重創耶律休哥的李繼隆因為擁立楚王元佐,已經被架空了軍職,宿將曹彬先於耶律斜軫數月也去世了。宋真宋任命忠武節度使傅潛為鎮、定、高陽關行營都部署,西上閤門使、富州刺史張昭允為都鈐轄,洛苑使、入內副都知秦翰為排陣都監,萊州防禦使田紹斌為押先鋒,崇儀使石普同押先鋒,單州防禦使楊瓊為策先鋒,鎮、定、高陽關河北三大鎮分別由猛將葛霸,範廷詔,康保裔指揮,傅潛為河北軍事方面的最高指揮官。傅潛是個平庸的指揮官。宋真宋在京師檢閱衛戍部隊,以振奮士氣。
九月,蕭太后和遼聖宗到達南京,遼軍進攻。遼軍的進攻路線從威虜軍,保州方向實施突破直逼宋軍河北西路的要塞,宋鎮、定、高陽關路押先鋒大將田紹斌和石普,以及保州守將楊嗣商量後決定迎戰,雙方戰於保州北的廉良河,此戰異常激烈,石普和楊嗣部抵不過遼軍先鋒,田紹斌率軍支援,兩軍合力反敗為勝,斬首500餘級。宋真宋聞訊非常興奮,群臣紛紛奏賀。雖然宋軍首戰告捷但形勢依然不樂觀,田紹斌給傅潛寫信請求支援,諸將也紛紛請戰,但被傅潛一概予以拒絕。遼軍前鋒雖然小挫,但依然沒有停止前進的步伐。十月,會同主力在蕭太后的指揮下向遂城發起攻擊,遂城守將是楊業之子楊延昭,遂城是座小城,不易守,當時正是冬季,天寒,楊延昭發動民眾在城牆上注水,水變成冰非常溼滑,遼軍攻取不下,遂引軍而去,撤退時遭到宋軍襲擊,丟棄了不少鎧仗輜重。蕭太后不甘心失敗,繼續南下,攻擊定州西北狼山鎮石砦。由於沒有任何援兵,很快狼山鎮石砦被契丹攻破,隨後大掠祁、趙、刑等地,真定,中山一帶一時間敵騎充斥,各地紛紛戰情吃緊。
為了鼓舞士氣,不少大臣要求皇帝御駕親征,十月十二日宋真宋決定親征下詔辛河北。在皇帝親征的鼓舞下,宋軍紛紛出擊,威虜軍大將石保興打退了遼軍,殺死一名敵軍的高階將領;翼州大將張旻奮勇殺敵,擊斃遼軍千餘人,繳獲戰馬上百匹;在河東戰線上府州的折家軍奮勇主動出擊擊進入遼境破遼軍黃太尉寨,消滅敵軍一千五百餘帳,繳獲牛羊馬無數。但傅潛依然按兵不動,消極作戰。遼軍沒能按照預定計劃拿下中山和鎮定,但宋軍沒有給與遼軍以有力打擊,於是遼軍毫不費力地殺向河間府。
宋真宗到達大名府,帶來了大量的軍隊,另外河東軍也東進到達河北,宋軍各路軍隊集結,實力逐漸增強,朝廷指示傅潛出兵,會合諸軍,但傅潛置若罔聞,範廷詔,秦翰,桑贊,張昭允不斷催促傅潛出兵。傅潛就是不聽。範廷詔大怒,罵傅潛“你膽子小得連個老太婆都不如”。傅潛無言以對,最終傅潛和範廷詔達成了妥協,廷詔率領將領秦翰,桑贊,荊嗣三位勇將領兵1萬人其中騎兵8千,步兵2千為先鋒。剛從嘉山防線撤下來的荊嗣負責為後軍指揮。傅潛答應自帶大軍為後援。
另一方面,對於遼軍東進和朝廷的會戰指示,高陽關守將康保裔開始行動,這是一位忠勇的職業軍人,其指示他的先鋒部隊,張凝和李重貴部開赴楊疃,自己帶人馬開赴裴村。康保裔的計劃是正面有高陽關和中山構成的主力迎戰,張凝和李重貴部作為奇兵從背後偷襲。康保裔手下的兵力大概在3萬左右。康保裔等待中山方面的援軍,但結果中山來的只不過是步兵萬人,傅潛率主力在中山按兵不動。
範廷詔首先遭遇遼國樑王耶律隆慶的軍隊,範廷詔列出方陣向東運動,同時派出使者和康保裔均聯絡,準備合戰。但遼軍卻主動向範廷詔部發起進攻,宋軍遭遇數倍敵軍的攻擊,頑強抵抗,同時派人向康保裔軍求援,康保裔得到求援信後,派出了一部分兵力支援。在遼軍瘋狂的攻擊下,範廷詔部抵擋不住,此時的範廷詔部隊已經被切割,荊嗣後軍已經和大部隊分開,是夜,範廷詔看到後軍被圍果斷派出秦翰,桑贊前去接應荊嗣。天亮,宋軍終於突破了遼軍防線,但由於遼軍的阻擾未能與關南宋軍合兵,而且打了一天一夜的範廷詔軍很難再給康保裔多少幫助了。
康保裔部就慘了,沒等來中山的援軍,還抽調了一部分兵力支援範廷詔,兵力更加不足了。遼軍利用優勢的兵力重重包圍了他,部下建議康保裔率軍突圍,如果組織得當,向瀛洲方向退卻也許不會全軍覆沒,但康保裔決定死戰,“臨難無苟免。此吾效死之日矣。“戰鬥的殘酷也許並不亞於10多年前的那場君子館戰役,宋軍表現出了驚人的戰鬥力,前後交戰數十合,宋軍用“勁弩擊敵”,持續抵抗了將近2天,宋軍幾乎已經“兵盡矢絕”,康保裔軍被消滅幾乎全軍覆沒,康保裔,監軍宋順被俘,十多名各級軍官官員戰死。但遼軍也受到了慘重的傷亡,撤退而去。
宋真宗得到敗報後異常惱火,作出新的部署,任命範廷詔為,貝,冀,高陽關都部署實際成為宋軍戰場最高指揮官,葛霸為副都部署,封賞,楊延昭,石普,田紹斌,李福等有功戰將,激勵士氣。傅潛在大名被逮捕,流放房州。宋軍於是士氣大振,宋軍範廷詔,葛霸,張凝,蔚昭敏在莫州夜間伏擊遼軍,遼軍倉促應戰,損失慘重,範廷詔的戰報宣佈斬首萬級,獲器械等不計其數,大批被俘掠的物資,百姓被奪回;李繼宣奉高瓊命令,一直追擊遼軍到拒馬河。遼軍在經歷莫州慘敗後,結束南征回到幽州。
戰術上看,遼軍戰術是高明的,避實擊虛不和宋軍堅陣過多糾纏,運動中殲滅敵人。瀛州之戰,佔據內線以優勢兵力各個擊破外線弱勢兵力,可謂教科書般的經典。在敵國土地上化外線為內線,佔據有利位置,令人拍案叫絕。但由於傅潛的畏縮不戰,也為遼軍充分展示內線優勢提供了便利,傅潛本來佔據內線優勢,卻不敢戰,任憑遼軍分兵劫掠,一將無能累死三軍啊,他的下場也是應得。
瀛莫之戰雙方都付出了慘重的代價,遼方主攻,宋方主守,這一戰對遼軍也許是一場試探,但也要看到宋軍戰力依然是很強悍的,隨著戰爭的進行宋軍的防禦體系越發完善,遼軍也越難討到便宜,當然宋軍也無力反攻。