萧铣是隋末在长江中游的一支割据势力的首领。与以萧铣为首的割据势力同时存在的还有林士弘领导的起义军。林士弘是鄱阳(今江西省波阳县)人,大业十二年(公元616年)与其乡人操师乞共同起义。后来,操师乞在与隋军作战时牺牲,林士弘就做了首领,有众十余万人。十二月,林士弘于虔州(今江西省赣州市)称帝,国号楚。“豪杰争杀隋守令,以郡县应之。其地北至九江,南及番禺,皆为所有。”
萧铣是后梁宣帝的曾孙。他的祖父萧崴,当隋灭后梁时逃奔陈朝。开皇九年(公元589年),隋灭陈时,萧崴以会稽(今浙江省绍兴县)郡投降,后被送至长安斩首。隋炀帝时,萧铣因外戚关系被擢为罗县令(位于今湖南省湘阴县东北)。
义宁元年(公元617年),农民起义的烽火,正在遍地燃烧;隋朝的地方官吏也纷纷割据一方,称王称帝,隋朝的灭亡,已是指日可待了。于是,巴陵(今湖南省岳阳市)校尉董景珍、雷世猛、旅帅郑文秀、许玄彻、万瓒、徐德基、郭华,还有张绣等人,打算据郡叛隋。最初,他们欲推举董景珍为首,董景珍自以为“素寒贱,不为众所服。”遂又改举萧铣为首。萧铣喜出望外,声言隋灭后梁,使他“痛心疾首,无忘雪耻。”他表示要“纠率士庶,敬从来请,”他立即“集得数千人,扬言讨贼而实欲相应。”这就是说,董景珍等推举萧铣为首,正符合萧铣的愿望。所以他就迫不及待的聚众而起了。接着,他就自称梁王,独树一帜。第二年,萧铣又做了皇帝,封董景珍等功臣七人皆为王。在攻下南郡之后,又徙都江陵(今湖北省江陵县),以此为中心,逐步向外扩充势力。
萧铣派张绣巡岭南,隋将张镇周、王仁寿投降。钦州刺史宁长真以林、始安之地(即今广西桂林南到钦州一带地方)归附于萧铣。同时,林士弘也千方百计争取岭南的隋朝地方势力,因此,汉阳太守冯盎以苍梧、高凉、珠崖、番禺之地(即今广东中部以及海南岛北部一带)归附于林士弘。另外,萧铣与林士弘又各派人都去争取交趾(河内)太守丘和,丘和对他们都拒不投降。萧铣又派宁长真带兵进攻,也大败而回。最后,还是因为丘和听到隋炀帝已死的消息后,才归附萧铣的。“于是东自九江,西抵三峡,南尽交趾,北距汉川,铣皆有之,胜兵四十余万。”
武德二年(公元619年)九月,萧铣派其大将杨道生进攻峡州(今湖北省宜昌市),被峡州刺史许绍击败。萧铣又派陈普环率水师沿江西上,规取巴蜀,又被许绍打败。
为了平定萧铣,唐高祖于武德四年(公元621年)派河间王李孝恭和李靖顺江东下,直取江陵。
唐高祖攻取长安以后,就派李孝恭自金州(今陕西省安康县)进入巴蜀。武德二年(公元619年)李孝恭被授为信州总管。第二年,改信州为夔州(今四川省奉节县),命李孝恭为夔州总管,“令大造舟楫,教习水战,以图萧铣。”同时,为了取得巴蜀地主阶级的支持,还“召巴蜀首领子弟,量才授用,致之左右,外示引擢而实以为质也。”李靖于武德二年(公元619年)至金州(今陕西省安康县),然后进入巴蜀。后因进攻萧铣进展较慢而被唐高祖问罪,峡州刺史许绍为之请命,才未被斩首。武德四年(公元621年),唐高祖派李孝恭、李靖率巴蜀兵东下,进攻萧铣。
在萧铣统治集团内部,由于诸将争功夺权。逐步产生了尖锐而复杂的矛盾。萧铣为了控制诸将,“乃宣言罢兵营农,实欲夺诸将之权。”这样一来,很快就引起了一些将领的不满。大司马董景珍之弟阴谋叛乱,未能得逞而被杀。接着,萧铣又召镇守长沙(今湖南省长沙市)的董景珍到江陵,董景珍怕受其弟的牵连,遂以长沙向李孝恭投降。萧铣又命其齐王张绣进攻长沙,董景珍失败,被其部下所杀。张绣自恃有功,骄横异常,萧铣又杀了张绣。于是统治集团内部互相猜疑,有不少将领背叛萧铣而去,力量大大削弱了。
武德四年(公元621年)九月,唐高祖命李孝恭为荆湘道行军总管,李靖为摄行军长史,统十二总管,自夔州(今四川省奉节县)顺流东下;以庐江王李瑗为荆郢道行军元帅,黔州刺史田世康出辰州道(今湖南省沅陵县),黄州总管周法明出夏口道(今湖北省汉口),共同围攻萧铣。当时,长江三峡水涨,有人建议应水落时进军,李靖说:“兵贵神速。”应该在水涨之际,乘其不备,出其不意,兵临江陵,使萧铣措手不及,取得胜利。十月,李孝恭按照李靖的建议,率战船二千余艘东下,萧铣果然“以江水方涨,殊不为备”,唐军顺利进至夷陵(今湖北省宜昌市)。这时,萧铣一大将文士弘率精兵数万屯于清江(今湖北省恩施县),唐军大败文士弘,获战舰三百余艘,唐军追至百里洲(今湖北省枝江县南),文士弘又一次失败逃走。另外,萧铣的江州总管盖彦举也投降了唐军。
萧铣为了削夺诸将兵权,实行“罢兵营农”政策,仅留宿卫数千人在江陵。当他听到唐兵压境,文士弘战败的消息时,大为恐慌。“仓猝征兵,皆在江、岭之外,道途阻远,不能遽集,乃悉见兵出拒战。”双方接触,唐军先败后胜,李靖“见其众乱,纵兵奋击,大破之,乘胜直抵江陵,入其外郭。又攻水城,拔之,大获舟舰,李靖使李孝恭尽散之江中。”诸将皆问为什么获取敌舰弃而不用,李靖说:“萧铣之地,南出岭表,东距洞庭,吾悬军深入,若攻城未拔,援军四集,吾表里受敌,进退不获,虽有舟楫,将安用之?今弃舟舰,使塞江而下,援兵见之,必谓江陵已破,未敢轻进,往来觇伺,动淹旬月,吾取之必矣。”果然不出李靖所料,萧铣援军见了散之江中的舟楫,疑虑不敢前进。萧铣的交州刺史丘和、长史高士廉、司马杜之松等人,听说萧铣失败,都投降唐朝了。
李孝恭集中力量围攻江陵,萧铣看到大势已去,下令开门出降。李孝恭采取了“秋毫无犯”的措施,稳定社会秩序的各种措施,致使“南方州县闻之,皆望风归附”。不久,各地“援兵至者十余万,闻江陵不守,皆释甲而降。”另外,萧铣的黄门侍郎刘洎以岭南五十余城投降唐朝。十一月,萧铣的桂州(今广西桂林市)总管李袭志也向唐朝投降了。后来,萧铣被送往长安斩首。
在唐军破萧铣之前,林士弘起义军在接连不断的胜利声中,与张善安为首的另一支起义军发生了矛盾。最初,当林士弘于江南起义后,张善安也在江北攻陷庐江郡(今安徽省合肥市)后,然后渡过长江,归附林士弘于豫章(今江西省南昌市)。后因受到林士弘的猜疑,遂和林士弘发生了武力冲突,结果,张善安于武德五年(公元622年)二月投降了唐朝。同时,萧铣也曾派兵攻克豫章,使林士弘遭到重大损失。萧铣失败投唐以后,其溃散的队伍中有很多人归附林士弘,林士弘的力量才稍有恢复。武德五年(公元622年)十月,林士弘命其弟鄱阳王林药师攻循州(今广东省惠州市),战败被杀。其部将王戎又以南昌州(今江西省永修县北,旧建昌)投降唐军。林士弘惊恐万状,逃到安成(今江西省安福县)山洞中,又被唐军击败,林士弘死去,所余少数起义群众散居各地。这支坚持了六年之久的起义军,就这样以失败而告终。
自此以后,长江中游和岭南一带,都统一在唐朝的势力范围之内了。