杜重威与安重荣,在宗城西南遭遇,安重荣令镇州军摆出“偃月阵”御敌,晋军接连两次进攻都无法破阵,杜重威畏惧镇州兵强,打算撤退。偏将王重胤劝谏说:“两军交战,退后者败,安重荣的精兵全部集中在这里,请大帅分别派出勇士攻击他们的左右两翼,我为你率契丹骑兵直突敌军中军,敌军必然溃败。”杜重威采纳其建议,镇州军军阵势稍稍后退。
叛将赵彦之与安重荣,本有嫌隙,抓住这个机会,卷起军旗,拍马降晋。安重荣听到赵彦之叛变消息,大为恐惧,逃到辎重车辆里躲藏,晋军乘势猛攻,镇州军完全崩溃,被杀一万五千人。安重荣收拢残兵败将,退保宗城。
杜重威继而率军围攻宗城,半夜就攻克宗城,安重荣仅以十馀骑逃回镇州,婴城自守。正赶上天寒,镇州死于战斗及被冻死的有两万余人,安重荣部下见其无力再战,不愿再为安重荣卖命,陆续有人主动归降。
杜重威,在镇州牙将的帮助下攻克镇州,屠杀平民二万人,斩下了安重荣的首级,奏报朝廷,以功授成德军节度使的职位。战后,晋廷改镇州为恒州,成德军为顺国军。
石敬塘病逝,石重贵即位,因石重贵不愿向契丹称臣,双方关系破裂。
耶律德光兵分两路,入寇晋境,顺国节度使杜重威,遂向晋廷飞马驰告契丹来犯的消息,并多次求援。石重贵亲自率禁军北上御敌,命刘知远为幽州道招讨使,杜重威为副,总理北部藩镇御敌事宜,刘知远随后于秀谷大败契丹西路军,晋军主力亦接连于马家口、戚城、澶州取得胜利,契丹军无功北返,暂时驻军幽州。
契丹主耶律德光,第二次率军大举伐晋,杜重威被授命为北面行营招讨使,抵御辽军,然其被契丹围困于恒州城,避战不出,恒州下属九县均被契丹攻克。而集结驻守于邢州北面行营军缺少统一指挥,从邢州溃逃至相州。