君子馆之战发生于986年(辽统和四年,宋雍熙三年)冬,在宋辽战争中辽军攻宋瀛州(治今河北河间),于君子馆(今河北河间西北)大败宋军的一次作战。
宋军在天冻无法使用弓箭的情况下被辽军击败,刘廷让的部队“全军皆没,死者数万人”,宋军河北防线遭到重创。
雍熙三年,宋与辽岐沟关之战后,宋军撤至高阳(今河北高阳东)、定州(治安喜,今河北定州)、代州(今山西代县)一线布防。太宗赵光义命李继隆为沧州都部署,杨重进为高阳关部署,刘廷让为瀛州兵马都部署,田重进为定州都部署,张齐贤知代州,分兵扼守边郡要地,以御辽。辽乘宋转取守势,发兵大举进攻。
十一月,萧绰太后命耶律休哥为先锋都统,率数万骑进军瀛州,自率大军继后。同时,命北院大王蒲奴宁率军出奉圣州(今河北涿鹿)佯攻代州,牵制宋西线军东援;命附马都尉萧继远等严守南境。
986年(宋太宗雍熙三年,辽圣宗统和四年)十一月二十八日,辽军至唐兴县,开始与宋军交锋。当时宋军屯于滹沱桥北,辽选将出击,纵兵齐射,并进焚滹沱桥。二十九日,辽楮特部节度使卢补古、都监耶律盼与宋军于满城交锋,由于卢补古临阵脱逃,辽军失败。另一方面辽将拽刺双骨里在望都与宋军先锋所部遭遇,一阵厮杀,擒九人,获甲马十一。
几次小规模战斗结束后,辽圣宗便行赏罚:对于由于临阵脱逃而战败的卢补古,夺其告身,向全军宣布其罪状,其通判、都监一下一律施以杖责,并且以御盏郎君化哥权楮特部节度使,横帐郎君佛留为都监,分别代替卢补古和耶律盼;而获胜的拽刺双骨里则“赐酒及银器”。
宋朝实际上早已得知辽军将要来犯,并已做好准备,不过辽军刚开始时的进攻非常零散,战斗规模颇小,而不象大战来临。从十一月下旬到十二月初,久久没有大战发生,宋太宗在汴京便有些急不可耐,于是命令定州都部署田重进主动出击,攻辽歧沟关,又命令瀛州兵马都部署刘廷让准备北进,寻找辽军主力与之决战。田重进奉命与十二月初四日引兵出定州,初五日成功袭破歧沟关,却并没有找到辽军主力。同日,辽军先锋都统耶律休哥部击败宋军于望都。
此时宋朝瀛州都部署刘廷让奉命御敌,得知辽兵势大,事先与沧州都部署李继隆商议,将精兵留给李继隆部为殿后,以为缓急之援,又约与李敬源部合兵,声言直取幽蓟。
耶律休哥得知刘廷让前来抵御,便先发兵扼住险要,然后协同辽军主力开始合围宋军。当时天气大寒,宋军衣着单薄,手足麻木,不能控弓弩,十分不利。初九日,辽军又截了宋军辎重并焚烧其粮草。初十日,辽军主力败宋军于莫州,并终于在君子馆一带将宋军合围。
而后开始此战之前,宋军先锋、雄州刺史贺令图曾通过谍者收到过耶律休哥的传话说:“我获罪契丹,旦夕愿归南朝。”当时他没有识破这是诈降,而是轻信其言,并私赠重锦十两。
此时,宋军已被包围,而耶律休哥又使人传言:“愿得见雄州贺使君。”贺令图竟然不辨其真伪,以为休哥正是按先前说好的前来纳降的,高兴得不得了。他想要独吞这份“大功”,不与诸将商议,亲引数十骑大摇大摆地“造访”辽营。此举无异于送羊入虎口,耶律休哥见他真的自己上了钩,坐在胡床上骂道:“汝尝好经度边事,今乃送死来邪!”当即下令左右杀其从骑,擒住了贺令图。
宋军被辽军重重包围,刘廷让当时只能指望李继隆的援兵,可李继隆却并没有如约救援,而是引兵退保乐寿。刘廷让叫天天不应,叫地地不灵,战又不胜,突围不出。辽军攻势猛烈,宋将御前忠佐神勇指挥使桑赞率所部力战,从早晨杀到下午,辽军却源源不断地增援,桑赞不敌,率部逃走,宋军遂全军覆没。
刘廷让骑着部下的马逃得一命,而宋军武州防御使、高阳关部署杨重进力战身死(辽史称生擒杨重进,耶律休哥本传又称杀宋将李敬源)。宋军此战损失惨重,死者数万人。