澶州之戰，是北宋和遼之間于1004年爆發的一場決戰，雙方主力傾巢而出，在北宋領土北部激戰，兩國君主
也齊聚澶州城下。最終遼軍主將蕭撻凜在澶州城下被宋軍用床弩射死，雖然戰事持平，但是遼軍已經無心戀戰。同時雙方部分官員一直在兩國高層斡旋，戰事最終以平局收場，並沒有明確的勝負之分。
戰役背景
1003年，望都之戰的慘敗使得宋軍加強了對北部邊境的監視。1004年1月，威虜軍、莫州方面傳回訊息:「契丹奚王以及南府宰相等四名將領各自率領四萬騎兵，從鑒城川出發抵達涿州，聲稱是在修復平塞軍軍營，以及涿州的兩個城池。」宋真宗批覆：「遼軍更擅長在野外激戰，修繕城堡應該不是他們的本意。通知各路邊將，如果他們在這三座城池有任何動作，你們就把望都城修好，並利用大股兵力唐河發動夾擊，讓威虜軍、靜戎軍、順安軍、北平寨、以及保州的部隊隨時準備支援，繼續修建方形的田地來阻擋北方騎兵進攻。如果他們沒有動向，你們就以修建新軍寨為名，在定州囤積些建築材料。」
當年2月，冀州團練使、帶御器械、莫州部署石普奉命率部轉移至干寧軍，以節省軍餉。4月，石州的宋軍被轉移到了汾州，北邊諸路巡檢魏愿等趕往高陽關東側，李致忠等人趕往干寧軍，蔡州團練使、趙州部署荊嗣率部和劉漢凝、田思明等人所部會合后前往莫州、順安軍，作為北部邊防軍的一部分。
幾天後，雄州傳來情報，遼軍統軍常從李可前來歸宋。
9月，遼聖宗趕赴幽州（即遼南京），並在隨後讓自己的弟弟耶律隆祐留守京師。當月，宋真宗和大臣們討論「如果開戰，是否親征」相關的事情，獲得了兵部侍郎、翰林侍讀學士畢士安的支援，以及宣徽北院使、知樞密院事王繼英的反對。
當年閏9月，宋天平軍節度使、侍衛親軍馬步軍司都虞候、開府儀同三司、檢校太尉、北面都部署王超率軍在唐河紮寨，隨之準備迎接遼軍入侵。
雙方準備
遼
遼軍方面，主帥是遼聖宗和蕭太后，蕭撻凜和蕭觀音奴為先鋒。
宋
宋軍方面，除去在上面提到的將領之外，還有李繼隆、西上閣門使孫全照等人，宋軍在北部邊境防禦遼軍的所有部隊幾乎都參與了此次戰役。
戰役經過
遼軍出征
閏9月，遼軍大舉南下，蕭撻凜和蕭觀音奴分兵攻擊威虜軍和順安軍。鄭州防禦使、寧邊軍部署魏能和冀州團練使石普分別率兵抵禦，魏能擊敗了遼軍先鋒。遼軍轉攻北平寨，遭到了宋將單州刺史、北平砦部署田敏的成功阻擊。遼軍向東進攻保州，沒有任何成效。幾天後，蕭撻凜率軍攻克遂城，宋軍守將王先知被俘。蕭撻凜旋即率部與遼聖宗所部合圍定州。此時王超所部還在唐河，接到了宋真宗的詔書卻仍舊按兵不動。等到遼軍聲勢越來越大，才率軍來到了陽城淀。
遼軍將至，江南人出身的工部侍郎、參知政事王欽若請宋真宗遷都金陵，而蜀地出身的工部侍郎、簽署樞密院事陳堯叟請宋真宗遷都成都。於是宋真宗轉而問兵部侍郎、集賢殿大學士、同中書門下平章事寇準需不需要遷都。寇準當著王欽若和陳堯叟的面大罵建議遷都的人，同時也指明了親征的好處所在。宋真宗採納了寇準的建議，但這也讓寇準和王欽若、陳堯叟之間出現嫌隙。王欽若很聰明，而且和寇準意見不合，被寇準認為肯定會有礙大局，而王欽若自己也意識到了這一點。當時宋真宗開始挑選可以鎮守北方戰區的大臣，寇準藉此推薦了王欽若，而王欽若也借這個機會擔任了判天雄軍府兼都部署、提舉河北轉運司，與永清軍節度使、天雄軍都部署兼知軍府事周瑩一同分擔防禦任務。
在望都之戰當中被俘虜、並且在隨後被遼聖宗招安的王繼忠，在遼經常找機會宣傳宋遼和好的好處。當時的蕭太后雖然已經率兵進入了北宋領土，但其實也不怎麼想打仗，所以對於王繼忠所言也比較贊同。得到蕭太后的同意之後，王繼恩隨即派遣了四名小軍官，手持信箭，以王繼忠的名義拜見了宋莫州部署石普，同時將一封密信交給石普，讓他直接送往宋廷。幾天後，石普的信使將署名為王繼恩的信交給了宋真宗，裡面寫了一些關於對自己的投遼認罪、以及勸說宋真宗與遼和談，讓北宋先行派遣使者的一些內容。宋真宗將信件的內容以及和談的可能性、是否要和談等事宜同大臣們商量。在和畢士安等人交流了意見之後，宋真宗給王繼恩寫了一封回信，信中明確拒絕了先派使者這一要求，並讓石普把信件交還給了之前來送信的幾名遼軍軍官。
幾天後，宋真宗任命周瑩為為駕前東面貝州、冀州路都部署，潁州防禦使杜彥鈞為其副將，供備庫使綦政敏為其鈐轄；任命感德軍節度使、侍衛親軍馬軍司都指揮使葛霸為駕前西面邢洺都部署，侍衛親軍步軍司都虞候王隱為其副將，西上閣門使孫全照為鈐轄。宋真宗還親自面見孫全照，令其兼任天雄軍以及駕前東面貝州、冀州路鈐轄，戰場上見機行事。孫全照回答道：「如果遼軍南攻魏城，只要給我幾千騎兵，我就肯定能贏。」宋真宗表揚了他的忠義果敢，同時囑咐周瑩，只要孫全照要兵，立刻給他。當天，北宋方面讓河北南部的民眾躲入城寨，以躲避遼軍的襲擾。
草城川之戰
幾天後，遼軍進攻草城川。洛苑使高繼勛率部前來支援，對供奉官、閣門祗候、岢嵐軍軍使賈宗說道：「敵軍人數眾多，但是軍容不整，顯然對方主將沒有才幹。我軍雖然人數較少，但是可以出奇制勝。我們先在山下設伏，一交戰，對方肯定要跑，這時候你率部衝出來，遼軍肯定潰退。」雙方軍隊開始交戰後，遼軍趕到寒光嶺，宋軍伏兵大起，遼軍被擊敗，自相踩踏而死的人數上萬人，宋軍繳獲大量牛、馬、駱駝等。第二天遼軍繼續進攻，再次被宋軍擊敗。賈宗將此事上奏，宋真宗下詔褒獎，賈宗從供奉官、閣門祗候陞遷至儀鸞副使，高繼勛從洛苑使升任弓箭庫使。
朔州之戰
10月，入內內侍都知、麟府鈐轄韓守英、張志上報，稱宋軍在朔州大破遼軍，陣斬大量遼軍士兵。當時遼軍剛剛包圍岢嵐軍，聽說了朔州方面的戰敗之後立刻撤退。
王超上報，遼軍沿著葫蘆河一路向東進發，宋真宗下令讓岢嵐軍、威虜軍、保州、北平寨等地的宋軍深入遼軍後方，四處進攻，來分擔前線的作戰壓力。
瀛州保衛戰
朔州一戰三天後，遼軍抵達瀛州城下，從白天到黑夜持續發動圍攻，戰場上充斥著擊鼓和伐木的聲音。遼軍攻城部隊在四面城墻上搭設了大量的器具，攻城部隊每人身背一塊木板從攻城梯上爬上去。西京左藏庫使、知瀛州事李延渥率領州城內的士兵以及強壯的市民，連同殿直、貝冀同巡檢史普一同拒守，用礌石和大木頭從城墻上面砸下去，攻城器械上面的遼軍紛紛墜落；十幾天后，雙方損失都比較嚴重。蕭太后親自擊鼓，遼軍猛攻城池，瀛洲城墻被遼軍的箭射成了刺猬，遼軍陣亡三萬餘人，傷者比陣亡人數多出一倍，但最終也沒能攻克瀛州城。遼軍最後全軍撤退。
宋真宗任命兵部尚書、知青州事張齊賢兼任青、淄、濰安撫使，刑部員外郎、知鄆州事丁謂兼任鄆、齊、濮安撫使，同時掌管當地的轉運和兵馬調配。同時下令，讓張齊賢、丁謂把所管轄範圍內各州的山河道路的寬窄位置全部畫成地圖呈遞上去。遼軍剛剛南進的時候，北宋民眾大驚，趕到了黃河邊上的楊劉渡。而河上的船伕爲了自己的私利，並不按時擺渡。丁謂聽說此事之後，拉來了州內的幾個死囚，當著這些船伕的面砍掉了這幾個死囚的腦袋，被嚇壞了的船伕很快就把所有的民眾接到了河對岸。丁謂接下來又把這些船伕聚集到了一起，讓他們拿著旗幟，擊打刁斗（一種打更的工具），呼喊聲傳了幾百里。遼軍以為河對岸有大量的宋軍，於是轉而前往其他地方。
當月，遼軍將領蕭撻凜、蕭觀音奴率軍攻下祁州，守城宋軍不少都投降了。遼聖宗重賞了蕭觀音奴，並且給投降的士兵分發了大量的錢財。
先前王繼忠得到宋真宗手詔后，回奏稱：「遼軍已經開始圍攻瀛州，關南地區是遼國以前的領土（瓦橋、益津、淤口三關以及瀛州和莫州當初都是燕雲十六州的一部分，故有此說，參見燕雲十六州），想守下來很困難，所以還是早點議和比較好。」遼軍攻佔祁州十二天後，宋真宗看完了王繼忠的奏疏，對大臣們說：「瀛州歷來有所準備，根本不必擔心。現在看來，先派遣使者好像也沒什麼關係。」於是在這次給王繼恩的回信中同意先派使者。於是北宋方面派遣了軍士李斌拿著信箭前往遼軍軍營，同時在樞密院當中挑選可以出使遼方的人選。王繼英推薦了殿直曹利用，曹利用也就隨即被授予了合門祗候，借崇儀副使的名號，前往遼軍軍營談判。同時給王繼忠新的手詔。第二天，宋真宗任命雍王、永興軍，鳳翔軍節度使、侍中、中書令、太傅趙元份為東京留守，自己則準備親征。
宋真宗親征
11月，北宋方面派遣安撫使前往河北地區。任命瀛州知州李延渥為瀛州團練使，以獎勵其守城的功績。
宋軍北面部署傳來訊息：「遼軍雖然從瀛州撤退，但是其兵力至少還有二十萬。偵察到他們將會趁虛偷襲貝州、冀州以及天雄軍。」宋真宗下令讓各路兵馬以及澶州守軍前往支援天雄軍。
從遼軍開始南伐的時候開始，宋軍大多城池全部選擇固守。右贊善大夫王嶼擔任知冀州事，一直以來都想親自擊敗遼軍，每天都操練守城士兵，同時又將士兵當中比較強壯的挑選出來，每天像往常一樣出城砍柴。王嶼曾經上疏，稱：「敵人敢來，肯定可以迎擊他們，希望（陛下）可以不用擔心我們這邊的戰事了。」遼軍小股騎兵前來騷擾，被王嶼直接率軍趕跑。宋真宗下詔對王嶼褒獎。
當月，遼軍馬軍都指揮使耶律珂禮在洛州與宋軍交戰並獲勝。第二天，遼東京留守蕭巴雅爾抓獲宋軍魏府官吏田逢吉，並將其交給了遼聖宗處置。
洛州一戰四天後，山南東道節度使、檢校太師、同中書門下平章事李繼隆擔任駕前東面排陣使，感德軍節度使、侍衛親軍馬軍司都指揮使葛霸擔任其副官，西上閣門使孫全照擔任都鈐轄，南作坊使張旻擔任鈐轄；武寧軍節度使、檢校太尉、同中書門下平章事石寶吉擔任駕前西面排陣使，侍衛親軍步軍司都虞候王隱擔任其副官，內園使、領恩州刺史、入內副都知秦翰擔任駕前西面排陣鈐轄。秦翰在被任命之後，立刻監督士兵們把城池周圍的護城河挖好，用來阻擋遼軍騎兵。工程剛剛做完，遼軍大部隊就趕到了城下，秦翰此後七十多天都沒卸下過鎧甲。
天雄軍之戰
曹利用途徑天雄軍，孫全照懷疑遼方並沒有和談的誠意，於是在勸說王欽若之後，把曹利用攔了下來。遼軍多次攻城未果，於是又命令王繼忠去議和，宋真宗回覆稱已經派曹利用過去了，同時讓遼方派使者去天雄軍把曹利用接出來。王繼忠得知了曹利用的現狀之後，請求換個使者來訪，以免有所延誤。幾天後，宋真宗來到長垣縣，在得知了王繼恩的請求之後，決定還是讓遼方派使者來把曹利用接走。第二天，宋真宗抵達韋城縣，下令滑州知州張秉、齊州知州馬應昌、濮州知州張晟率部在黃河上巡邏，所部丁夫把黃河的冰面鑿開，以免遼軍騎兵偷襲。
天雄軍在得知遼軍馬上就來的時候，全城人心惶惶。王欽若和其他將領共同商議如何分別把守各個城門，孫全照說道：「我是將門子弟，各位將官可以自己挑選合適的位置，哪裡沒人挑，我就去哪裡。」後來發現沒人願意守北門，孫全照就承擔了北門的守備任務。王欽若也自告奮勇地要守南門，孫全照以主帥必須坐鎮城中、統領全域性為由反對。王欽若採納了孫全照的建議。
孫全照最擅長的是訓練弩兵，手下的弩兵可以擊倒人馬和重型裝甲，根據情況不同，使用的方式也不同。於是孫全照直接把北門大開著，並且放下了吊橋，等待遼軍到來。遼軍在長時間地攻打東門后，轉而攻打天雄軍舊城，到了晚上又來到天雄軍城南，在狄相廟設伏，其餘部隊轉而攻擊德清軍。王欽若在得知這一情況后，派天雄軍的精兵追擊，結果被遼軍的伏兵卡住，進退不得。孫全照向王欽若請命之後，出城援救天雄軍，在和遼軍的伏兵激烈交戰後，成功救回其餘十分之三四的天雄軍官兵，遼軍也被重創。而前往攻打德清軍的遼軍，在蕭巴雅爾和蕭觀音奴的率領下取得了勝利，知軍、尚食使張旦及其子三班借職張利涉、虎冀都虞候胡福等十四名將領全部陣亡。
澶州之戰
先前宋真宗詔王超等率部趕往行在，可是過了一個多月，王超等部還是毫無動靜。遼軍距離澶州越來越近，而宋真宗所部暫時駐紮在韋城。此時大臣當中勸說宋真宗「南巡」金陵的呼聲又開始出現，宋真宗自己也開始有些動搖，就詔寇準來重新商討此事。寇準據理力爭，但是宋真宗並沒有被說服。寇準暫時離開后，跑到外面拉來了彰信軍節度使、殿前司都指揮使高瓊，兩個人一起前去遊說宋真宗前往澶州督戰，一唱一和，終於遊說成功。
遼軍攻陷德清軍之後，直接來到澶州城下，三面包圍州城。李繼隆等率部守城，並且控制著城墻上的床子弩，把守著各處要害。遼軍統軍使蕭撻凜大意輕敵，帶了一小股騎兵前往偵察敵情，結果被威虎軍頭張瓖用床子弩擊中額頭。遼軍士兵連忙將蕭撻凜擡回了營帳，當天傍晚時分，蕭撻凜去世。蕭太后聞訊后慟哭，輟朝五天。在此期間命令蕭巴雅爾攻下了通利軍。蕭撻凜是遼軍陣中最主要的主戰派，自從蕭撻凜陣亡之後，前線戰事漸漸平息，遼軍軍內議和的呼聲開始高漲。
戰役後續
此後，前線戰事漸漸平息。加上在交戰過程中就已經有雙方官員在議和，澶州之戰的結果也促成了最終澶淵之盟的結成。