孙万荣,契丹大贺氏部落联盟首领,军事统帅。曾祖孙敖曹,在隋朝时是契丹一个部落的首领,仕隋为金紫光禄大夫,孙敖曹附唐,为此唐高祖李渊将其部落安置在营州城傍边,并授孙敖曹为云麾将军,行辽州总管。
松漠都督、契丹族酋长窟哥死,继任松漠都督的阿卜固率契丹诸部与奚族连兵反叛。唐高宗遣突厥降将阿史德枢宾为沙砖道行军总管,讨伐契丹,不久,契丹兵败,阿卜固被擒送洛阳。孙万荣担任部落首领后,主动与唐朝仍然保持良好的关系。武则天累授孙万荣为右玉钤卫将军、归诚州刺史,封永乐县公,从此,契丹与唐又恢复了藩属关系,保持着正常的朝贡往来。
契丹发生饥荒,广大百姓生活无着,穷困潦倒,刚愎自用的营州都督赵文翙不但不予赈给,反而视契丹首领如奴仆,此后还多次侵侮其管辖的契丹部属。赵文翙的行为激起了契丹人的强烈不满,孙万荣早年曾以侍子入朝做人质,深知唐朝虚实,便抓住唐朝内忧外患之机,与其妹婿松漠都督李尽忠共商大计,决定乘机举兵反唐。李尽忠率部举兵反唐,攻陷营州,俘虏数百人,斩杀赵文翙,从而揭开了东北各蛮族对中原王朝长达二百多年的战乱,李尽忠自称“无上可汗”,孙万荣被任命为主帅。随后孙万荣率军东进,攻城略地,所向披靡。
消息传至洛阳,武则天大怒,为安定边疆,武则天诏命左鹰扬卫将军曹仁师、右金吾卫大将军张玄遇、左威卫大将军李多祚、司农少卿麻仁节等28将,率兵征讨,企图一举消灭契丹,武则天又增派春官尚书、梁王武三思为榆关道安抚大使,纳言姚踌为副使,屯兵胜州,作为第二道防线,以备策应,同时下诏改李尽忠为李尽灭,孙万荣为孙万斩。
唐军行抵西硖石黄獐谷西,孙万荣协助李尽忠指挥作战,击败唐军,俘唐右金吾卫大将军张玄遇、司农少卿麻仁节。唐军的失利,便武则天恼羞成怒,武则天令天下囚犯及士庶家奴骁勇者充军,山东近边诸州置武骑团兵,又下诏以同州刺史、建安王武攸宜为右武威卫大将军,充清边道行军大总管,以右拾遗陈子昂为总管府参谋,率部征讨契丹。此后,契丹军攻打平州,但被武攸宜重兵所阻,别部夜袭檀州也被击败,遂率兵退入山中,寻机再战。
李尽忠因病去世,契丹部众在孙万荣的率领下,继续着反唐事业。后突厥阿史那默啜可汗为索取以前的突厥降户,为其女求婚,请为武周帝之子,表示愿率军进讨契丹,武则天遂册授默啜为左卫大将军、迁善可汗。默啜乘李尽忠卒丧之机,偷袭松漠,掳掠李尽忠、孙万荣的妻子而去。
突然遭到突厥的打击,并没使孙万荣失去斗志,他迅速收合余众,使军势复振,继续与唐军作战,孙万荣派遣别帅骆务整、何阿小为前锋,攻陷冀州,杀刺史陆宝积,屠吏民数千人。又向瀛州挺进,整个河北为之震动。武则天闻讯急令夏官尚书王孝杰、羽林卫将军苏宏晖率军18万,讨伐契丹。
孙万荣得到消息后,详细地分析了敌情,他认为唐军虽兵强马壮,但远道而来,必定急于求成,我方虽兵力少于对方,但可以逸待劳,加上唐军对地形不熟,我方正好利用这一优势消灭唐军。经过布置后,孙万荣率契丹军在地势险要的东硖石谷设伏。
王孝杰部行至东硖石谷,与契丹军相遇,因道路险隘,王孝杰率少量精锐作为先锋前进,孙万荣令契丹军佯退,诱敌深入。王孝杰且战且进,在将出山谷时整队布置方阵,这时孙万荣令契丹军立即回军反击,四面围攻,唐军主力后援没有来,王孝杰以少打多,营中溃乱,王孝杰堕谷而死,所率先锋死亡殆尽。
此战,王孝杰“率精锐之士为先锋”,“深入寇境,以少御众”“虏甚众”,深入敌境以少打多,兵数远少于孙万荣。王孝杰所率的是少量兵力,而“既无后继”“后援不至”,