大业十二年(616年)七月,杨广因北方多事,不顾群臣反对,离开长安前往江都巡幸,杜伏威部正好就在江都眼皮子底下,为了保障皇帝巡幸的安全,隋派出虎牙郎将公孙上哲率军前往镇压,双方战于盐城(今江苏盐城),公孙上哲军队被全歼,随后,隋朝又派大将陈棱带八千精锐讨伐杜,陈、杜多次交手,毕竟陈棱的军队训练和器械远强于杜,杜伏威军连连失利。但陈棱兵力不多,想剿灭杜伏威也不容易,双方打成僵持状态。
同年十二月,隋炀帝车驾到达江都,护驾骁果十余万人,声威赫赫。按理隋军应该军心大振,杜伏威难逃灭亡,不料正是杨广的到达给了杜伏威崛起的机会。
当年正好是大荒之年,老百姓本来就已走投无路,再加上被官府如此压榨,终于造成了一场大饥谨。据记载,老百姓先是吃树皮树叶,后煮土为食,“诸物皆尽,乃自相食”。又弄到了人吃人的程度,于是大量百姓揭竿而起,杜伏威乘机吸收了大批手下,势力迅速膨胀。
这时杜伏威与陈棱强弱之势已经倒转,于是主动向陈挑战。陈棱也知道战局不利,因此龟缩不出,任由杜伏威自己去耀武扬威。
杜伏威于是就用激将法,派使者给陈送了一套妇女衣裳,并给陈棱起了一个外号叫陈姥(就是陈老太太的意思),到处宣扬,刺激陈棱。
陈棱怒火中烧,果然带领全军出战。这一仗打得十分激烈,杜伏威亲自上阵,不小心被一员隋将暗箭射中,杜怒吼说:“不杀了你,箭矢不拔!”
然后就直冲过去,把那吓呆了的射手斩于马下,又拿着那个弓箭手的首级连续杀了几十人,隋军士气大挫,被打得几乎全军覆没,陈棱单骑逃回江都去了。
杜伏威趁势扩大战果,占据了高邮、历阳等重镇,并在历阳自称总管,封辅公祏为长史。
这时的杜伏威吸取了以前的教训,从部队中挑选最精锐的士兵组成自己的卫队,称为 “上募”,兵力为五千人。
杜把“上募”作为自己的子弟兵,平时非常宠爱,但要求也非常严苛,每战必以“上募”为先锋,战后检查每人身上的伤痕。如伤在背后,即刻处斩,因为那表明其临阵退后。
每次战胜后,杜伏威都把抢掠到的资财赏给全军。如果手下战死,就以死者的财产甚至妻妾殉葬,因此杜所部皆为杜伏威尽死力,人自为战,所向无敌。
杜伏威号令所到之处,江淮间各路小起义军争相归附,郡县纷纷投降。杜伏威非常讨厌官员贪污,于是就下令凡官吏贪污者无论轻重一律处死,于是大得人心。
大业十四年(618年),江都兵变,宇文化及弑杀杨广,委任杜伏威为历阳太守,杜伏威没有接受。同年,他向东都(今河南洛阳)越王杨侗,也就是皇泰主称臣,被封为楚王,拜东道大总管。
武德二年(619年)九月,李子通先下手为强,率主力围攻江都。陈棱兵微将寡,只得分别向杜伏威、沈法兴求救。因为陈棱此时也尊奉洛阳皇泰主,和杜伏威名义上成了一伙的了。
沈法兴是湖州武康(今浙江德清)人。
他出身于官宦世家,父亲沈恪,是南北朝时期陈朝的官吏,官至特进、广州刺史。
沈法兴在隋朝大业(605年-618年)末年,担任吴兴(今浙江湖州)郡守。当时,东阳农民起义军首领楼世干举兵反叛朝廷,攻城略地,隋炀帝杨广下诏命令沈法兴与太仆丞元佑一同讨伐楼世干。
义宁二年(618年),宇文化及在江都(今江苏扬州)发动兵变,弑杀隋炀帝。
沈法兴自认为世居南方,家族世代都是郡中有声望的大姓,同姓宗族就有几千家,便与元佑的部将孙士汉、陈果仁擒住元佑,以诛讨宇文化及为名起兵。
三月,沈法兴从东阳出发,边行军边收集兵马,往江都趋进,攻下余杭郡(今浙江余杭区),待进发到乌程(今浙江湖州)时,已拥有六万兵马。
毗陵(今江苏常州)通守路道德领兵抵御沈法兴,沈法兴与他约定连兵,借会盟之机袭杀路道德,进据毗陵城。
当时齐郡农民起义军首领乐伯通占据丹阳(今江苏丹阳),为宇文化及守卫该城,沈法兴派遣陈果仁攻陷丹阳。于是沈发兴就占据了长江以南十几个郡,自称江南道总管,承制设置百官。
武德元年(618年)八月,沈法兴听闻越王杨侗即位,是为皇泰主,沈法兴便上书杨侗,自称大司马、录尚书事、天门公,承圣旨设置百官,任命陈果仁为司徒,孙士汉为司空,蒋元超为尚书左仆射,殷芊为尚书左丞,徐令言为尚书右丞,刘子翼为选部侍郎,李百药为府掾。
武德二年(619年)八月,沈法兴攻克毗陵后,认为江、淮以南只须自己发令调遣即可平定,于是自称梁王,建都毗陵,建年号为延康,设置百官。
沈法兴性情残忍,崇尚严刑,将士稍有过错,就立即斩首,他的部下因此产生叛离怨恨之情。
当时,杜伏威占据历阳,陈棱占据江都,李子通占据海陵,都手握重兵,均有窥伺江南的意图。沈法兴三面受敌,军队屡次战败。
听说李子通进攻江都,杜伏威和沈发兴两个人自然谁也不愿意李子通占领江都,于是都派出援军。杜伏威是亲自领兵,沈法兴则派出自己的儿子沈纶。
两股援军本来就是相互防范的对手,现在更是各怀鬼胎。
李子通抓住杜、沈双方互不信任的弱点,派出小部队化装成沈部夜袭杜伏威,杜伏威果然上当,怒火中烧下立刻突袭沈部,两路援军先打成一团。
李子通于是得以全力进攻江都,陈棱势不能支,弃城而逃,投奔杜伏威去了。
李子通占领江都后,以得胜之师进攻沈纶,沈兵败逃走。三大势力中本以杜伏威兵力最强,结果反而让李子通取巧占领了江都,杜伏威对此深恶痛绝,但大局已定,也只好愤愤收兵。
李子通随即自称皇帝,国号吴。
这时李渊已经消灭了西北的割据势力薛举、李轨,开始谋求关东。李渊派出使者向杜伏威招降,杜伏威就于武德二年九月十二日(619年10月24日)宣布归降唐朝,受封为淮南安抚大使,后来又逐步升官到东南道行台、尚书令、楚王,最后在武德三年升级为总管江淮以南诸军事、吴王,赐姓李。
武德三年(620年),李子通全力进攻沈法兴,渡江攻克了沈的重镇京口,又击杀了沈派来迎击的大将蒋元超,沈主力丧失殆尽,只得放弃丹阳、毗陵,逃回吴郡老家。
趁李、沈交战,杜伏威以辅公祏为主将,阚陵、王雄诞为副将(这二人是杜的养子,军中号称大将军、小将军),领数千精锐进攻李刚刚夺取的丹阳。但时机没掌握好,沈法兴败得太快,李子通得以亲率主力数万迎战,军容极盛。辅公祏眼看寡不敌众,情急之下活用了杜伏威对“上募”的那套手段,辅挑选千人持长刀为前锋,又以千人紧随其后,自己领其余兵力再紧随其后,发出命令:“前阵有退后者,后阵斩之。”
江淮军本就剽悍,再有如此严酷的军法,自然人人奋勇向前,尤其前锋的长刀阵更是有进无退。双方一接战,李子通部气为之夺,当即败退。
辅公祏忘记了自己兵力过少,下令追击,结果反而被逼急了的李子通军击败,从追击者沦为逃跑者。
当夜,李子通因取胜而轻敌,扎营不设防备,王雄诞力劝辅公祏乘机夜袭。
辅过于谨慎不敢出击,王雄诞干脆擅自领了几百人自行出击。王雄诞在李子通营中大肆纵火,李子通猝不及防,大败溃散,几万人一夜间散个干净。
这一仗是杜伏威与李子通之间的决战,关系到江淮的霸业,杜伏威军先胜后败最后全胜,戏剧性地击破数倍于己的李子通主力。
武德三年六月初一(620年7月5日),唐朝徙封杜伏威为吴王,赐姓李氏,加授东南道行台尚书令。同年,击败李子通,将根据地迁至江南的丹阳(今江苏南京)。
战败后,李子通守不住江都,只得主动撤往京口(今江苏镇江),又逃往太湖,长江以西之地尽为杜伏威所有。
李子通随即收集余部,又聚集了二万余人,这时李的地盘已归杜所有,势力又远不如杜,只好向沈法兴下手。
李子通突袭沈法兴的老巢吴郡,沈根本没来得及恢复元气,自然不是李的对手,结果只剩几百人逃了出来,打算投奔同乡闻人遂安。不料又和闻人所部起了冲突,沈落水溺死,江淮三大势力之一的沈法兴就此出局,从起兵到灭亡仅三年时间。
李子通灭沈法兴后势力又有所恢复,为永绝后患,杜伏威于武德四年(621年)十一月派王雄诞进攻李子通。
李领精兵据守独松岭与王相持,王看出李色厉内荏,派人多造旗鼓,夜间则虚设灯火,尽力制造数十万大军的假象。
可能是上次被夜袭留下了严重的心理阴影,李子通草木皆兵之下,居然自行烧了营帐,连夜全军撤退。
王追击到杭州城下,李部崩溃,李子通穷蹙投降,被杜伏威献俘给李渊,就此被软禁在长安。
消灭李子通后,杜伏威又派王雄诞进攻江淮间其他割据势力。汪华、闻人遂安等纷纷投降,杜伏威完成了江浙的统一,尽有淮南、江东之地。