1924年秋,冯玉祥发动北京政变,推翻了“贿选”的大总统曹锟,然后邀请孙中山北上。等孙中山北上抵达时,冯玉祥已经与张作霖商定,接受段祺瑞进京任“临时执政”摄行大总统,并废除了曹锟宪法,终止《临时约法》和取消国会。孙中山主张召开民选的国民会议,段祺瑞主张召开军政商学实力派组成的善后会议。1925年2月1日善后会议召开。3月12日孙中山在北京逝世。1925年7月1日国民党在广州成立国民政府。同年10月爆发反奉战争,1926年4月反奉战争失败。张作霖奉军占领北京,并与吴佩孚修好联合。段祺瑞被迫下台。
1926年7月4日,为完成总理孙中山的遗愿,国民党中央在广州召开临时全体会议,通过《国民革命军北伐宣言》,陈述了进行北伐推翻北洋政府的理由。
1926年1月,中国国民党第二次全国代表大会在广州召开,会议提出“对内当打倒一切帝国主义之工具,首为军阀”的口号。1926年7月9日,蒋介石就任国民革命军总司令并誓师北伐。蒋介石的北伐誓词堪称一篇雄文,特全文抄录:
嗟我将士,尔肃尔听。国民痛苦,火热水深。土匪军阀,为虎作伥。帝国主义,以枭以张。本军兴师,救国救民。总理遗命,炳若日星。吊民伐罪,歼厥凶酋。保我平等,还我自由。实行主义,牺牲个人。有进无退,革命精神。嗟我将士,同德同心。毋忘耻辱,毋惮艰辛。毋惜尔死,毋偷尔生。嗟我将士,保此国家。嗟我将士,保此人民。遵守纪律,服从司令。唯纪与律,可以致胜。生命为私,纪律为公。生命为轻,命令为重。嗟我将士,团结精神。彻始彻终,相爱相亲。毋惧强敌,毋轻小丑。万众一心,风雨同舟。我不杀贼,贼岂肯休。势不两立,义无夷犹。我不牺牲,国将沉沦。我不流血,民无安宁。国既沉沦,家孰与存。民不安宁,民孰与生。嗟我将士,矢尔忠诚。三民主义,革命之魂。嗟我将士,共赋同仇。革命不成,将士之羞。嗟我将士,如兄如弟,生则俱生,死则俱死。存亡绝续,决于今兹。不率从者,军法无私。
从这一天起,“打倒列强!除军阀!国民革命成功!”的雄壮歌声,随着战斗的怒潮,响彻了中国大地。
国民政府发动北伐战争的时候,段祺瑞已经下台。当时,北洋政府控制在以张作霖为首的奉系军阀手中。直系军阀吴佩孚沦为附庸,占据两湖、河南三省和河北、陕西,控制京汉铁路。直系军阀后起之秀孙传芳占据长江中下游。
当时北洋军阀直系吴佩孚军约30万人,控制湖南、湖北、河南等省和保定一带;从直系分化出来自成一派的孙传芳军约20万人,盘踞赣、闽、浙、皖、苏五省;奉系张作霖军约35万人,占据东北三省、热河、察哈尔、京津和山东等地。吴、张勾结,控制北洋政府,在北方,向南口、多伦等地倾向革命的国民军进攻;在南方,吴佩孚增兵入湘,企图联合西南军阀,进攻广东革命根据地;孙传芳在赣、闽伺机行动。
国民革命军八个军10万余人,蒋介石任总司令,李济深任总司令部参谋长,白崇禧任参谋次长代理参谋长,邓演达任政治部主任,郭沫若任政治部副主任。何应钦、谭延闿、朱培德、李济深、李福林、程潜、李宗仁、唐生智分任第一军至第八军军长;缪斌、李富春、朱克靖、廖乾吾、李朗如、林伯渠、黄绍竑、刘文岛分任第一军至第八军党代表或副党代表。除第八军驻湖南衡山、安仁地区,第七军驻广西外,其余六个军均驻广东。
国民革命军总司令部根据敌我双方军事力量对比和军阀之间的矛盾,制定了集中兵力、各个击破的战略方针,首先消灭吴佩孚军,然后歼灭孙传芳军,最后消灭张作霖军。部署以主力进军湘、鄂,另以第一军大部在广东汕头、梅县地区对闽警戒,第一、第四军各一部和第五军大部留守广州,第七军钟祖培旅是北伐先锋。
国民政府以两广为基地,策略以“打倒吴佩孚,联络孙传芳,不理张作霖”为主,实行各个击破。进兵湖南,攻占平江、岳阳,歼灭吴佩孚的军队。
战前,湖南省长、军阀赵恒惕拥兵四个师,名为自治,实为吴佩孚的附庸。湖南省防军第四师师长唐生智,起兵反赵,占领长沙、岳阳,就任代理省长。吴佩孚令赵恒惕部叶开鑫率三个师零两个旅反攻长沙,命湘鄂边防军司令李倬章率四个师零三个旅增援叶开鑫。5月初,唐生智放弃长沙,退守衡阳,急电向广州国民政府求援。国民政府于5月10日决定派兵援唐,遂命第七军第七、第八旅先行入湘。21日,任命唐生智为国民革命军第八军军长、北伐前敌总指挥。24日,又派第四军第十、第十二师和叶挺独立团入湘援唐。叶挺独立团于6月2日到达湖南安仁,在第八军第三十九团一部配合下,于安仁北面的渌田、龙家湾地区击退直军四个团的进攻。5日,进占攸县。援唐之战告捷,稳定了湖南战局,打开了北进通道。
7月,第四、第七、第八军攻克长沙、醴陵,取得了北伐战争第一个战役的胜利。
8月12日,蒋介石在长沙召开军事会议,决定乘吴佩孚军主力在直隶进攻国民军,湖北兵力薄弱之机,迅速以主力直趋武汉,对江西暂取守势。北伐军乘胜前进,至8月22日连克岳阳、通城、羊楼司等地,开始进入湖北境内作战。
在此期间,吴佩孚率部协同张作霖军在直隶南口等地将国民军击败后,调兵南下,亲率湖北暂编第四师和陆军第八师于8月25日抵达汉口,令自岳阳、通城败退的湖北暂编第一师和卫兵旅等部共万余人固守湖北咸宁地区汀泗桥,并派中央第二十五师第十三混成旅另一个团增援。另以陆军第八师进至贺胜桥地区设置坚固阵地;武卫军占领纸坊,鄂军第三旅及部分湘军残部在白螺矶、新堤、嘉鱼一带,协同海军阻止国民革命军渡江。
8月25日,国民革命军第四军叶挺独立团作为第十二师的前卫,奔袭粤汉铁路上的中伙铺车站,歼灭吴军一个团;第十师进占杨泉畈。第七军占领大沙坪、桂口市。第八军占领临湘、羊楼洞、蒲圻等地。唐生智根据总司令部关于迅速攻占武汉的决定,以第八军攻取汉阳、汉口,第四、第七军沿铁路北进,攻取武昌。
第四军代理军长陈可钰决定乘吴佩孚军主力未到之机,于8月26日凌晨向汀泗桥发起进攻。第十二师第三十五团在高猪山击退吴军一部的阻击,进至铁路桥头,遭对方火力封锁;第三十六团进至汀泗桥东南高地前,遭敌俯射,前进受阻。第十师第二十九、第三十团分别在第三十六团两侧展开,激战入夜,仍无进展。第三十六团乘夜暗实施中央突破,也未得手。第十二师师长张发奎决心以叶挺独立团和炮兵营向汀泗桥东北的古塘角迂回,从右侧后包围歼敌。27日凌晨,叶挺独立团从小路隐蔽接近古塘角,配合正面部队的全线攻击。吴军遭前后夹击,全线溃败,被俘2400余人,残部向北逃遁。第四军占领汀泗桥。叶挺独立团乘胜猛追,当日中午攻占咸宁城。
吴佩孚亲率湖北暂编第四师和陆军第八师及在汀泗桥战役中败退的残部共2万余人,在贺胜桥及其以南的杨林塘、桃林铺、王本立地区梯次设防,企图死守。国民革命军不给吴军以喘息之机,于8月29日由第四、第七军发起贺胜桥战役。第七军第八旅在袁家铺附近击退吴军约1个团的抵抗后,向王本立前进,途中遭吴军反击,被迫后撤。第四军第十二师在杨林塘附近与吴军激战后,形成对峙。30日拂晓,第四、第七军继续攻击,叶挺独立团猛打猛冲,在杨林塘突入吴军主阵地,向桃林铺攻击前进。此时,吴军一部从侧翼反击,企图对叶挺独立团实施包围。第十师第二十八团和第十二师第三十六团适时增援,协力抗敌,突破吴军桃林铺防线,向贺胜桥发展进攻。第七军攻占王本立后,迅即向贺胜桥东侧的南桥攻击。吴军正面失利,侧背受敌,全线动摇,纷纷溃退。国民革命军于当日上午占领贺胜桥,俘敌3500余人,中路第四、第七、第八军主力全线击破汨罗江吴军防线,继在汀泗桥、贺胜桥打败吴军主力,进围武昌,一部绕道攻克汉阳、汉口,前锋进迫武胜关。
吴佩孚迅速集结兵力,企图凭借长江、汉水固守武汉。部署三个师守备武昌,一个师守备汉阳汉口,调动所有能调动的部队部署在汉口附近地区,保障武汉的安全。国民革命军于9月1日包围武昌城。2日,前敌指挥部决定以第四军并配属第一军第二师和第七军第七、第八旅主攻武昌城;第八军继北伐军挺进武昌续准备进攻汉阳、汉口;第七军第一、第二旅在鄂城、樊口遮断吴军长江交通,掩护攻城部队侧背安全;第一军第一师为总预备队,在崇阳待命。由于武昌城墙高筑,吴军防守严密,攻城部队在缺乏周密准备的情况下,先后于3日、5日两次攻城,均未奏效,且伤亡甚重,遂对武昌改取封锁围困。
第八军于8月26日开始在临湘、嘉鱼间陆续渡过长江,9月5日向汉阳发起攻击。吴军湖北暂编第二师倒戈,改编为国民革命军第十五军,配合第八军作战,6日攻占龟山。第八军第二师攻占汉阳兵工厂,第四师占领汉阳城。7日,第八军第二师渡过汉水,攻占汉口。吴佩孚率残部北逃。第八军主力乘胜追击,至16日相继占领武胜关、平靖关、鸡公山和九里关。国民革命军攻占汉阳、汉口后,武昌已成孤城。
9月中旬,第七军和第一军第二师奉调入赣作战,由第四、第十五军和第八军一部继续封锁围困武昌。10月8日,守军第三师师长吴俊卿率部投诚。10日,攻城部队在吴俊卿部接应下攻占武昌城,歼敌2万余人,生擒守城司令、第八师师长刘玉春和湖北督理兼中央第二十五师师长陈嘉谟。
正当国民革命军席卷湘、鄂,吴佩孚军濒于崩溃之际,孙传芳于8月25日在南京召开军事会议,决定从苏、浙、皖调兵10万入赣,会同其驻赣部队2万余人进攻湘、鄂;并令福建督理周荫人部进袭广东,威胁国民革命军后方。国民革命军总司令部为达到占领江西的预定目标,决定对江西转取攻势。
9月上旬,国民革命军分三路进军江西。在赣南,由李济深指挥第二军第五师、第五军第十六师第四十六团和第十四军先于其他方向行动,攻占赣州后沿赣江北上,向吉安方向发展进攻。
与两湖战场的高歌猛进相比,江西战场打得相当艰难。因为孙传芳部凶顽异常,国民革命军在江西与孙部一接触就呈胶着状态,开始拉锯战。9月19日,第六军第十九师乘虚攻占南昌城。孙传芳急忙调兵反击,第十九师孤军苦战三日后,退出南昌。22日,第十九师又在第十七师增援下,再次攻入南昌,但又遭孙军优势兵力围攻,只好于23日突围,撤向奉新地区。
9月下旬,国民革命军总司令部组织再攻南昌。
在国民革命军围攻南昌之时,孙军一部进占湖北大冶、鄂城,一部进抵通山、崇阳,威胁武昌。国民革命军前敌指挥部告急。第七军军长李宗仁为解其危,采取“围魏救赵”之计,率部由阳新迅速潜入赣北,威胁九江、德安,迫孙军西进之师东调,在箬溪地区全歼孙军谢鸿勋师后,于10月3日进至南浔铁路中段德安地区,遭孙军卢香亭等部四个旅抗击,经激战毙俘敌各千余人,占领德安。孙传芳急调南昌、九江和已进入鄂东南的部队反击。第七军被迫撤至箬溪,稍事休整后,再攻德安,终因孤军无援,于7日撤至德安、箬溪间的罗家铺地区,双方形成对峙。与此同时,位于奉新的第六军和第一军第一师强渡修水河,占领永修,遭由德安增援的卢香亭部包围,被迫突围转移至永修西北的白槎。第三军经新余激战后,10月2日在万寿宫地区歼灭孙军郑俊彦部2000余人。8日进至牛行、乐化地区,又与孙军郑俊彦、卢香亭部遭遇,鏖战至12日,终因孙军不断增援,第三军伤亡甚重,前进受阻。在此不利情况下,蒋介石仍令第二军和第一军第二师于10月11日强攻南昌。由于守军预有准备,凭借坚城深壕死守,并利用夜暗组织反击,攻城部队连攻三日不克,伤亡甚重,被迫于13日撤退。
国民革命军总司令部总结三次攻打南昌失利的教训,在于孙传芳军控制南浔铁路主要干线,便于机动。于是决定集中兵力,先破南浔铁路各要点之敌,而后再取南昌,并决定从武昌增调第四军入赣作战。国民革命军入赣部队分三路于11月1日开始总攻。右翼军右纵队第十四军在第二军配合下,先期于10月20日攻占抚州,切断孙军入闽通路,从东南向南昌推进。左翼军第七军于11月2日攻占德安,第四军在独立第二师和第七军一部配合下,于3日攻占马回岭后,第四、第七军主力在德安以南的九仙岭击败孙军两个师,截断南浔铁路,向永修推进。独立第二师在九江、瑞昌间的晒湖桥歼灭孙军一个师,至7日占领九江、瑞昌、湖口和武穴。中央军第六军于11月3日开始向乐化攻击,遭孙军多次反击,伤亡甚重,后总预备队第一军第一、第二师赶到,协力攻击,于4日占领乐化、永修。此时,右翼军右纵队第二军主力已由进贤、三江口进逼南昌,右翼军左纵队第三军在第二、第一、第七、第六军各一部配合下,于11月7日占领牛行,继向余干方向追击,在滁槎俘敌1.5万人。孙传芳见败局已定,乘船逃回南京。南昌守军待援无望,弃城溃逃,被歼万余人。11月8日,国民革命军占领南昌。
9月下旬,孙传芳为策应江西战场作战,令福建督理周荫人部进袭粤东。周荫人将所部3万余人编为四个军,于10月上旬攻占广东蕉岭、松口、饶平等地。国民革命军第一军军长何应钦乘湘、鄂、赣战场节节取胜之机,转守为攻。10月中旬,第一军第三、第十四师袭击周部后方,攻占永定,然后回师松口,俘周部第三军4000余人。此时,周部第二军曹万顺、杜起云两个旅在蕉岭通电起义,改编为国民革命军第十七军,随即进至中都、松源地区,将退至该地区的周部第三军残部全部歼灭;尔后,向上杭挺进。在上杭地区的周部第四军和第二军残部退守长汀。10月下旬,第十七军由上杭沿汀江两岸向北推进,在由赣入闽的第十四军第二师配合下,击退守军,进占长汀。由第一军补充团扩编组成的独立第四师在第二十师第五十八团等部配合下,先后在饶平、诏安、漳浦击退周部第一军后,于11月相继占领漳州、同安、泉州、莆田、永泰,逼近福州。12月初,第二军第六师由赣入闽,进占建瓯,切断闽、浙孙军联系。此时,驻闽海军起义,周部李生春旅投降。12月9日,国民革命军进占福州。
孙传芳连遭失败,求援于奉军张作霖,联合组成安国军,张作霖任总司令,孙传芳和张宗昌任副司令。计划以奉军一部入河南,促吴佩孚反攻湖北;孙传芳反攻江西;张宗昌率直鲁联军接防苏、皖北部,配合反攻鄂、赣。孙传芳收集残部8万余人,部署在沪宁铁路和沪杭铁路沿线及皖南地区,抗击国民革命军的进攻。
为肃清长江下游之敌,国民革命军总司令部于1927年1月上旬决定进军杭州、上海,会攻南京。蒋介石兼中央军总指挥,率军分别由江西、湖北沿长江两岸向安徽、江苏推进,主攻南京。何应钦为东路军总指挥,率第一、第十四、第十七、第十九和第二十六军自江西、福建分路加入浙江,夺取杭州、上海,助攻南京。唐生智为西路军总指挥,率第八、第四、第九、第十一军由湖北进入河南,牵制北面之敌。
1927年1月下旬,东路军第一、第二十六军在第二军配合下,由浙江衢州向杭州方向发起进攻,过关斩将,于2月18日占领杭州。在此期间,东路军第十四、第十七军和第一军一部由闽入浙,相继攻占临海、宁海、宁波、绍兴等地,肃清浙江境内的孙军。3月上旬,东路军开始进攻淞、沪,至20日,第十四、第十七、第二军和第一军一部经太湖以西攻克常州、丹阳等地,截断沪宁铁路;第一军主力和第二十六军克松隐、松江、吴江、苏州,迫近上海。21日,周恩来等领导上海工人举行第三次武装起义,经过30多个小时激战占领上海。第一军一部乘机进入上海市区。
与此同时,江左军向安庆、合肥挺进。由于孙军刘宝题师、陈调元师、王普旅和叶开鑫残部相继起义,江左军3月4日不战而下安庆,至18日进至庐州、六安一线。江右军由江西沿长江南岸东进,相继攻克芜湖、当涂后,3月20日开始总攻南京,经两天激战,扫清江宁镇、秣陵关、龙都等外围据点。23日,第二军进逼中山门、光华门,独立第二师进攻通济门、武定门,第六军进抵雨花台,该军第十九师由中华门冲入城内。当晚江右军各部分路进城,占领南京。
1927年3月24日,二军、六军占领南京。另一支北伐部队,国民革命军第一军等从广东出兵福建,于12月占领福建全省,向浙江挺进。1927年2月底,占领浙江全境。3月22日,一军进驻上海。
4月12日,发生反革命事变,宁汉分裂。4月19日,武汉方面任唐生智为北伐军总司令继续北伐。5月,南京方面北伐军也继续北伐。1928年1月4日,蒋中正复职,继续领导北伐。北伐军在占领河南之后,取得原属北洋军的冯玉祥、阎锡山等人的加入,1928年4月,奉系军阀张宗昌部在滦州被彻底打垮,亡走大连,孙传芳在北京宣布下野,张、孙残部向北伐军投降。
1928年6月4日,张作霖当夜撤离北京,退出山海关外,张的专列在到达沈阳附近的皇姑屯时,被日本关东军埋下的炸药炸毁,张作霖重伤后死亡。
1928年12月29日张学良在东北通电东北易帜,宣布效忠南京中央政府,北伐至此宣告成功。
国民革命军高举打倒列强除军阀的大旗,经过短短一年多作战,击溃了吴佩孚、孙传芳两大军阀,收编了阎锡山、冯玉祥等武装集团,招抚了奉系军阀,以摧枯拉朽之势解放了大半个中国,自己也由出征时8个军10万余人发展到50个军100万人左右!北伐战争期间,曾经追随过孙中山先生的老同盟会会员和老革命党人、对北洋军阀统治深恶痛绝要求革命的地方实力派人物、一些走投无路的实力派人物,纷纷倒戈加入国民革命军。北伐结束,国民革命军从8个军扩编为50个军,其中有35个军是收编的各派军阀的部队,自己只扩编了7个军。