契丹首领虽然作为松漠都督府的都督,管理契丹部落。但唐朝为了更加有效地管理投降的草原部落,在松漠都督府之上设立了一个上级机构,叫营州都督府。由于营州都督府中的长官都是中原人士,风俗语言不同,彼此难免产生误会。而在当时,误会的解决方式就是战争。
契丹首领窟哥战死沙场之后,大贺阿卜固接任了首领的位置。这位首领很快就反叛了唐朝,发动暴乱,后来由唐朝大将薛仁贵镇压了契丹的叛乱,大贺阿卜固也战死沙场。因此,李尽忠接替了松漠都督府的位置。
一开始,李尽忠与唐朝保持了良好的关系。直到万岁通天元年(696),武则天取代李唐王朝,改国号为周。契丹认为一直以来与李唐王朝相交甚好。如今武则天所夺取的天下名不正言不顺,营州都督府的官员赵文翙又骄横跋扈,对松漠都督府以及契丹首领更是不放在眼里。
加上那年契丹遭遇了严重的饥荒,身为都督府汉人官员的赵文翙并没有重视这次饥荒。在这种情况下,契丹部民怨声载道,这为李尽忠与他的妻兄孙万荣起兵谋反提供了群众基础。
武则天万岁通天元年(696)五月,李尽忠和孙万荣联合起兵,杀了营州都督赵文翙,攻进营州都督府,开始哄抢粮食。李尽忠自称“无上可汗”,并以孙万荣为前锋,招兵买马,发展自身的力量。消息很快就传到了洛阳,武则天想趁机树立自身的威严,派遣张玄遇、李多祚等多名大将前往营州镇压叛乱。
李尽忠熟悉草原的地理环境,因此他与唐军的决战地点选在了险峻的西硖石黄麞谷(今河北卢龙附近)。
面对这次契丹突发性暴乱,营州官员还没反应过来就被李尽忠关进了监狱。李尽忠和孙万荣早有计谋,故意派人传出唐军快到的消息,监狱所长中计,将营州官员放走了。这批官员在逃跑的过程中遇到了主力大军,大军得知契丹人粮食缺乏、人心涣散,因此大军快马加鞭,赶到黄麞谷,打算与契丹人速战速决。结果由于唐军准备不足,遭到李尽忠的埋伏,唐军死伤无数,大败而归。
武则天听到战败的消息之后大怒,下令把李尽忠改名李尽灭,孙万荣改名孙万斩,多次派兵围剿。万岁通天元年(696)十月,李尽忠病死,孙万荣接替他的位子,继续反唐。面对强势的唐军,孙万荣沉着指挥,并巧用谋略,多次击败唐军。之后,奚族贵族与唐朝联合围剿孙万荣。孙万荣与奚族骑兵作战,契丹军也损失惨重。最后孙万荣走投无路,不得不与其家奴骑马逃走。谁知,在逃跑的过程中,家奴趁孙万荣睡觉之际,将其杀死。
李尽忠的反唐行动以失败告终,但是武则天多次派兵镇压,甚至借助奚族人的力量才将这场叛乱平息,国力也遭到了一定影响。