后晋开运三年(946年)十二月,契丹灭晋。契丹在开运元年(944年)初进攻后晋受阻北撤,但其南下之心却未曾稍减过。同年底,契丹又大举攻晋,晋出帝下诏亲征,全国动员,并于开运二年(945年)三月大败契丹于阳城。同年,契丹不断对后晋进行军事试探。六月,契丹利用晋人孙方简进入定州。
七月,后晋枢密使李崧、冯玉得到契丹卢龙节度使越延寿有意回归中原的消息,深信不疑,便命天雄节度使杜重威写信给赵延寿,赵复信表示想回归中原,希望后晋发兵接应。随后,后晋天平节度使李守贞在长城以北打败契丹骑兵;河东击退了契丹3万兵力的进攻;彰德节度使张彦泽于定州以北、泰州(今河北清泰)打败了契丹。此时,契丹瀛州(今河北河间)刺史刘延祚致信后晋乐寿(今河北献县)监军王峦,说城中契丹兵力不足,且契丹主耶律德光已北归,若后晋攻城,自己愿为内应。王峦、杜重威对此也深信不疑,因此多次奏请乘此良机攻取瀛、莫(今河北雄县南)二州。李崧、冯玉也准备发大军迎赵、刘南归。
十月,后晋以杜重威为北面行营都招讨使,李守贞为兵马都监,率大军从广晋(今河北大名东北)向北进发。由于夏秋多雨,行军与运输十分困难,且杜重威屡次请求增兵,后晋便倾所有禁军归杜指挥,致使都城防守空虚。十一月中旬,后晋大军到达瀛州,城门大开,后晋军反而不敢入城。杜重威派梁汉璋率2000骑兵追击契丹军,梁战死,晋军南撤。
此时,耶律德光率军大举南下,从易州(今河北易县)、定州直奔恒州(今河北正定),后晋大军闻讯,准备取道冀州(今河北冀县)、贝州(今河北清河西)向南进发。彰德节度使张彦泽就在此时从恒州领兵而至,向杜重威等说明契丹的形势,认为可以取胜,于是杜重威便率大军回往恒州,并以张彦泽为前锋军。待晋军到恒州以南滹沱河中渡桥时,桥却已被契丹所占,契丹焚桥而退,与晋军形成夹河对峙之势。
契丹原本怕后晋军强渡过河,从而与恒州城内外夹击自己,因此想撤退,没料到后晋军不敢交战竟隔河扎营,于是契丹派肖翰从后面切断了晋军的粮道与退路。十二月初,后晋大军与朝中联系被完全切断,后晋奉国都指挥使王清请战,率2000步兵夺桥开路,并多次请求后援,但杜重威按兵不动,结果王清全军覆没,后晋各路军队士气由此丧失怠尽。
十二月初八,契丹将晋军完全包围,晋军与外界失去联系,粮食也已吃完。杜重威等暗怀异心,并派人暗中往契丹耶律德光营中请降。初十,杜重威设伏兵胁迫诸将在降表上签名,并命全军列阵,后晋士兵还以为是要与契丹决战,于是个个跃跃欲试,等得知要投降,全军恸哭之声振天动地。杜重威降后,恒、代、易三州也先后投降契丹。
十二月十七日,契丹攻至大梁(今河南开封),晋出帝想点大火与后宫一起自焚,但被亲军将领薛超阻止。晋出帝只得开宫城门,向契丹大军投降,后被囚于开封府。后晋由此灭亡。到次年正月初一,耶律德光进入大梁,封晋出帝为负义侯,并迁至黄龙府(今吉林农安)。
