武昌城防衛堅固,易守難攻。9月3日,北伐軍第七、第四、第一軍各部首攻武昌城。守城吳軍集中火力,俯瞰掃射,許多兵士中彈身亡,攻城未果。9月5日,北伐軍再攻武昌城,各團奮勇隊三麵攀登,死傷累累。守敵頑強抵抗,炮火猛烈。北伐軍改強攻為長期封鎖包圍。9月7日,第八軍攻克漢口。10月10日,武昌內糧食日益殆盡,北伐軍第四、第八軍攻擊武昌城。由於得吳俊卿部內應,攻城一舉成功,俘敵萬餘人。至此,軍閥吳佩孚的反動勢力基本被摧毀,殘部敗退河南。葉挺獨立團所在的第四軍,自北伐以來,戰功卓著,威震兩湖,贏得了“鐵軍”的光榮稱號。
北伐軍在江西戰場開始時,由於聲勢逼人,銳不可當,入贛僅半個月,第二、第三兩軍就連克萍鄉、宜克、蓮花、永新、分宜、新喻、萬載、上高、清江、安福等11個縣,戰事發展十分順利。第六軍連克修水、高安後,於9月19日下午在南昌市工人、學生、省長所屬警備隊等響應下,進占南昌城。由於遭受孫傳芳軍隊南北夾攻,第六軍被迫突轉衝出南昌西撤。
武昌攻克以後,第四軍等部陸續到達贛北,加之孫傳芳內部分化,後方不穩,江西戰場形勢發生重大變化。11月初,第七、第四軍迅速占領了南潯路北段的德安、馬回嶺等地,封鎖了孫軍的退路,完成了對南潯路全線總攻擊的準備。接著,第二、第三、第四、第六、第七各軍協同作戰,將孫軍主力圍殲於南潯路南段。經數日激戰,擊潰孫軍主力,於7日克複南昌,孫傳芳敗逃南京,江西戰事基本結束。
在福建,隨著北伐軍的進軍及在其他戰場上的節節勝利,使號稱6萬之眾的孫軍周蔭人部各旅紛紛倒戈反孫,加之福建民軍積極參戰,何應欽第一軍,自10月初進入福建以來,進展均比較順利,並於12月18日進駐福州。
在浙江,孫傳芳自贛省作戰失敗後,即集中其殘部於滬寧、滬杭線上,負隅頑抗。東路軍於1月下旬推進浙西,於2月18日進占杭州。3月上旬,東路軍分兩路向淞滬及滬寧線進擊。上海、南京已處於北伐軍包圍之中。上海工人階級乘勢舉行第3次武裝起義,一舉解放上海。
在北伐軍勝利進軍的革命形勢影響下,在蘇聯政府和共產黨人的幫助下,馮玉祥終於走上了革命的道路。
1927年3月11日,馮玉祥發布出師布告,宣布將親率20萬兵力,東出潼關,會師許(昌)鄭(州)。
北伐軍自出師以來,僅半年多時間就連續攻占了湘、鄂、贛、閩、浙、皖、蘇等省,控製了長江中、下遊廣大地區,基本上摧毀了吳佩孚、孫傳芳的直係軍閥的反動勢力,取得了偉大的勝利。
北伐戰爭勝利發展的主要原因是:這次戰爭是正義的戰爭,以國共合作為基礎的統一戰線極大地調動了各方麵的革命力量;廣大官兵英勇作戰,人民群眾的有力支援,是北伐勝利的決定因素;開展有效的政治工作,共產黨員和共青團員在戰爭中發揮先鋒模範作用;共產國際和蘇聯政府在物資上的支援,以及派人幫助指導,為戰爭勝利做出了貢獻;北洋軍閥內部的腐敗與矛盾,也加速了北伐的勝利。