高梁河之战后,宋军被迫退守瓦桥关南、定州、镇州一带。辽景宗为报围燕之仇,于太平兴国九年(979年)四月派兵南下,进攻宋朝。
辽燕王韩匡嗣统率耶律沙、耶律休哥等各部10万大军,南下攻宋。一路挥师直进,到达满城西,集结兵力,准备向镇州发动进攻。宋镇州守将刘延翰在徐河设阵待敌,此外,瓦桥关南守将崔彦进率兵在辽军侧背秘密迂回,以图夹击。定州、镇州两军守将都率部到达满城,按照太宗所授阵图,将军士列为8阵,准备迎战。
辽军大举进攻,宋将登高而望,见辽兵漫山遍野,潮水般卷来。欲按太宗所授图布阵,阵相距不到百步,将士都疑心重重,斗志松懈。镇州都监李继隆见状,主张变阵图,改8阵为2阵,得到诸将的支持。宋军略施一计,派使到辽营诈降。辽大将耶律休哥认为宋军严整有序,并非真降,劝燕王严兵以待。韩匡嗣不听。宋军乘机从三面向辽军发起攻势,韩匡嗣猝不及防,全军溃乱,纷纷回逃。宋军乘胜追奔,斩首万余,获马匹上千,得到兵器、羊畜等不计其数。辽景宗大怒,列举了韩匡嗣五条罪状,从重发落。满城之战,宋军获全胜。
