吴佩孚从汉阳、汉口北撤后,留陈嘉谟、刘玉春部据守武昌,等待增援,伺机反扑。北伐军因江西形势吃紧,调第七军主力和第一军第二师入赣,把围攻武昌的任务交给了唐生智。唐生智并未因围城部队的减少而放松对武昌的围困,他对武昌采取了大包围的策略,一方面坚持围困武昌城内之敌,另一方面全力堵剿武昌外围之敌。北上作战,切断了吴军南下的通道;进军鄂东,使孙传芳部不能接近武昌。加上江西方面有北伐大军牵制孙传芳部,敌军解武昌之围的计划便化为泡影,武昌成了名副其实的孤城。
北伐军在分析前两次攻城受挫的原因之后,决定对武昌实行围困封锁。9月14日,下达了封锁令,由第八军、第十五军协同封锁水上交通,陆上封锁则由第四军承担。北伐军还出动飞机向城内散发传单,指出武昌已成孤城,援救也成泡影,号召守军倒戈起义,以瓦解敌军阵线。17日,北伐军决定利用敌人弹粮匮缺、军心动摇的机会进行攻城。第二天,向守城敌军发出了最后通牒,限其在24小时以内投降,否则即行攻击。敌军守将陈嘉谟、刘玉春在接到最后通牒后,惶恐不安,一面派人向北伐军议和,一面指使所部炮轰革命军阵地。北伐军见对方并无议和诚意,乃于21日拂晓开始攻城。旋因守敌占有蛇山高地和炮火优势,北伐军改由挖地道攻城。他们克服种种困难,不顾敌军的枪炮袭击,夜以继日地进行挖掘。经过几天的苦战,终于将一条约五十米深的地道挖至城墙脚下。
为了表示攻克武昌的决心,9月30日,唐生智就“万县事件”发表了通电。北伐战争的迅猛推进和工农革命运动的高涨,动摇了北洋军阀统治的根基。各帝国主义国家为了维护他们在中国的特殊利益,加紧对中国革命进行干涉。英帝国主义视长江流域为其势力范围,当北伐军向长江流域进军直接威胁到帝国主义利益的时候,航行于长江的英国舰只竟然公开援助吴佩孚,阻止北伐军。9月5日,英舰用大炮轰击四川万县县城,焚毁民房商店一千余家,死伤人民数以千计,制造了骇人听闻的万县惨案。英帝国主义野蛮屠杀万县人民的暴行,激起了全国人民和海外侨胞的无比愤慨。唐生智以湖南省政府主席的名义发表了《自卫之法唯有打军阀和帝国主义》的通电:
惟念木必自腐,而后虫生,国必自亡,而后侮至。频年国内军阀,因争权夺利,而内讧不已,甚至勾结外人,鱼肉异己,甘做帝国主义之走狗,以遂少数党羽之私图。外人习知其谋,少不称意,即施高压政策,故五卅之遗骨未寒,沙基之流血化碧,历时有几,而万县之悲剧,又已开演。国人如不亟谋自卫,恐茫茫宇宙,将无黄胄托足之所。自卫之方法为何?即打倒军阀、打倒帝国主义是也。今之吴佩孚,军阀中之尤者也;今之英吉利,帝国主义之尤者也。军阀不除,则帝国主义不倒;帝国主义不倒,则军阀亦终不能除。国人如欲万县交涉有完满结果,万县祸变,他埠不再发生,惟努力自卫,急起加入国民革命。盖非国民革命,不能现实根本之自卫方法也。嗟呼,亡羊尚可补牢,失马焉知非福,国人果真觉悟,外侮不难消除。
唐生智还致电四川赖心辉、杨森等,声称对万县惨案“义愤填膺,自应一致声讨,保我民众,并盼诸公急起加入国民革命,共求自由平等”。他在这些电文中亮出了打倒帝国主义的旗帜,指出了打倒军阀与打倒帝国主义的密切关系,号召人民起来加入国民革命,消除外侮,振兴中华,实现自由平等。由此可见唐生智之爱国精神和对国民革命之对象、意义的认识。
正当此时,蒋介石专门从江西致电唐生智,声称“为巩固革命政府中心地计,应先肃清两湖残敌”,使武汉安如磐石,并将此事交付给唐生智。他还指出,“武汉之患,不在河南,而在于鄂西与湘西”,希望唐在围攻武昌的同时,注意加强对湘西和鄂西的防范。
10月初,武昌城内守敌为摆脱困境,曾两次进行突围,均被北伐军击退。在外无援兵、突围无望的情况下,他们的处境一天比一天恶化。于是,士兵们对守城失去了信心,重要将领也发生了动摇,一些人主张开城投降。唐生智也同意谈判,并答应收编他们的部队,保护他们的财产和家眷。而刘玉春、陈嘉谟派人跟第八军联络,要求保全实力,退回河南,却不肯缴械投降。唐生智坚决拒绝,声明只有开城投降,可优待俘虏外,别无其他办法。但是,守城豫军第三师师长吴俊卿、团长贺对廷等单独派人与北伐军联络。贺也是保定军校毕业的,他通过同学关系密通唐生智。唐答应事成之后,将贺团改编为旅。贺约定于10月9日晚上打开城门,让北伐军入城。
为了配合贺对廷部行动,消灭顽抗到底之守敌,唐生智、陈可钰等立即做出了紧急部署,命令第四军之叶挺独立团、第十师、第十二师和第八军何键师以及第七军第五、九两旅等部做好攻城准备。10日拂晓,在吴俊卿第三师的配合下,北伐军分路攀城而进,与顽抗之守军展开激烈巷战,重创敌军。不少敌军因丧失斗志,未经激战,即行投诚。至上午10时,战斗基本上结束。
敌军守将陈嘉谟、刘玉春见势不妙,便化装藏匿,准备逃出武昌城。可是,北伐军并未将他们放过,第四军战士搜俘了刘玉春。陈嘉谟刮掉胡须,更衣易服,扮作苦力,混迹人群之中,仍被第八军巡逻兵活捉。此外,北伐军还俘虏了敌军将、校级军官三十余人以及士兵九千余人,缴获了大量的枪械弹药。至此,北伐军在围攻四十天之后终于攻克了武昌。
刘玉春、陈嘉谟被解到汉口西园北伐军前敌总指挥部看守,唐生智见到他们之后,要他们阅读孙中山先生建国方略、建国大纲、三民主义等书,好好反省。北伐军司令部还组织军事法庭对其进行审判。但以守城之过,不在一人,对刘未曾定罪,此后仍优礼相待。刘玉春原来的参谋长陈某被俘后投降,在张发奎部效力。陈某托张向唐生智说情,恢复了刘的自由,并聘为军事参议。陈嘉谟则在1928年宁汉分裂后才获释。
武昌的克复,主要得益于战略战术的调整。唐生智、陈可钰等鉴于武昌易守难攻的形势,主动放弃了强攻硬打的做法,改为长期围困、阻其外援、断其粮弹和进行策反、瓦解军心的策略,终于迫使敌军内部发生分化并使相当一部分士兵丧失战斗力,从而为攻克武昌创造了条件。
唐生智指挥所部北伐军在歼灭吴佩孚的主力并将其残部驱赶到河南之后,又攻克武昌,捣毁了直系军阀在华中的最后一个据点。蒋介石留下的难题还是由唐生智解决了。这样一来,武汉三镇全部光复,两湖战场作战取得了决定性的胜利。于是,唐生智更加威名远扬。