这年十月,契丹叛首李尽忠死了,孙万荣代领其众。默啜乘机袭击松漠,俘虏了李尽忠和孙万荣的家属。武则天拜默啜为颉跌施大单于、立功报国可汗。
孙万荣则列加穷凶极恶,便收拾余众,向河北进攻。于是,先攻陷冀州(今河北冀县),杀刺史陈宝积和官吏人民数千,既攻瀛州(今河北保定)。河北震动,纷纷逃散。形势极为凶险。武则天想起了被贬为彭译令的狄仁杰来,便下诏起用为魏州(今河北大名)刺史。前刺史。独孤思庄为防契丹进攻,正在组织老百姓运土搬石,修筑城垒,紧急备战。狄仁杰到任后,便下令解散,让百姓回家各安其业。守将们不理解,狄仁杰说:“贼犹在远,何烦如是!万一贼来,吾自当之。”官民人等,人心顿安。契丹人闻狄仁杰之名,竟不战自退。百姓们都编出歌来颂扬他,立碑纪念他的功德。武则天又令狄仁杰为幽州(今北京市)都督,抵御契丹的进攻。
被贬为原州司马的娄师德也被起用,都是用来抵御契丹的。
决战时机到来了。神功元年(697年)三月,助工则天命王孝杰率17万大军进攻契丹军,与孙万荣在东硖石谷大战。契丹被打得大败而逃,王孝杰督兵紧追不舍。行至绝险的山岭上,契丹军回兵再战。王孝杰的后军苏宏晖竟然自乱其阵,弃甲逃走。王孝杰兵力单薄,被契丹人马迫上悬崖,坠谷而死,兵将也死亡殆尽。