二十二日,萧挞凛与圣宗、太后合兵攻定州(今河北定县)。宋将王超等阵手唐河,按兵不战,辽军气势益高。此时北方州县告急的文书至宋廷,寇准请真宗亲临澶州(今河南濮阳附近),真宗态度犹豫,后让朝议亲征事。参知政事王钦若密请真宗南下金陵(今江苏南京);签枢密院事陈尧叟建议起驾到cd;寇准力排众议,坚请立即亲征,王、陈二人因此怨嫉寇准。最后决定按照另一宰相毕士安亲征当在仲冬的建议行事,并调王钦若出镇大名(今河北大名东)。
十月,辽军攻保州(今河北保定)等地不克,又抵瀛州(今河北河间)城下,昼夜攻城,太后、圣宗亲自击鼓助战,兵士阵亡三万余人,终未攻取,不得不撤走。萧挞凛率师攻下祁州(今河北安国)。攻城掠地的同时,辽方又遣人向宋试探和谈的可能。
十一月,辽将耶律课里败宋军于洺州(今河北永年东),萧观音奴等攻下德清军(今河南清丰)。宋真宗车驾到卫南县(今河北长垣北),辽师进抵澶州,从三面围城。宋将李继隆等分伏强弩,控制要害。萧挞凛自恃骁勇,以轻骑临阵督战,宋威虎军头张瑰暗发床子弩,击中其额。当晚,挞凛死,辽军气势受挫,加之孤军深入,宋大军将至,故而倾向议和。
宋真宗一行自卫南向澶州进发,先驻扎在澶州南城,后在寇准的坚持下,渡过黄河,到达北城,并登上城门楼,张插黄龙旗,宋军皆呼万岁,气势倍增。
宋真宗到澶州(今河南濮阳附近)后,宋辽双方正式考虑和议。宋派曹利用赴辽军议和好,辽圣宗又遣左飞龙使韩杞持国书随曹利用来到宋方。经过几次交涉,双方于景德元年(1004)十二月立下盟约:宋辽约为兄弟之国,辽主称宋真宗为兄,宋尊萧太后为叔母;宋每年给辽绢二十万匹、银十万两,称为“岁币”;双方各守现有疆界,不得侵轶,并互不接纳和藏匿越界入境之人。另辽方撤军时,宋军不得沿途进行邀击。互换誓书后,辽军撤退,宋真宗亦回返京师。因该盟约订立于澶州(亦称澶渊郡)城下,史称澶渊之盟。