由于以蒋介石为首的国民党极右分子隐藏在北伐革命军内部,所以从北伐一开始,国共合作中就埋伏着危机。随着革命形势的发展,蒋介石的反革命本质也就逐渐更明显地暴露出来。
在北伐的胜利进军中,蒋介石利用收编军阀武装,不断扩张自己的势力,而中国共产党内由于陈独秀执行右倾机会主义路线,1927年4月5日发表了《汪精卫陈独秀联合宣言》,硬说蒋介石“决无驱逐友党摧残工会之事”,使共产党和革命人民处于无准备状态,助长了蒋介石的反革命气焰并为其叛变革命创造了条件,终于在1927年4月12日蒋介石发动了反革命政变,即震惊全国的“四一二”政变。
4月11日蒋介石密令“已克复之各省,一致实行清党”即屠杀共产党,并下令调集上海驻军和出资收买青红帮头子黄金荣、杜月笙等人组织“中华共进会”,纠集一批流氓,于4月12日袭击上海工人纠察队。当工人纠察队奋起自卫抵抗时,蒋介石、白崇禧又借口“工人内讧”将工人纠察队缴械,在搏斗中工人纠察队死数十人,伤200余人,上海总工会委员长共产党员汪寿华也被蒋介石指使杜月笙骗去杀害。次日上海工人群众十万多人在闸北集会,并到闸北司令部请愿,当请愿群众行至宝山路时,大批军队向工人群众开枪,顿时血流成河,死伤无数。
接着蒋介石又封闭上海总工会和其他革命团体,逮捕屠杀大批共产党员和革命群众,仅三天内即有300多人被杀,500多人被逮捕,5000人失踪。上海大屠杀后,各地的蒋介石党徒随即竞相效尤,或公开或秘密屠杀革命党人和革命群众,东南各省的革命人民都在流血,尤其以广东的“四一五”惨案为最,无数革命精华在蒋介石及其党羽的屠刀下牺牲了。陈延年、赵世炎、肖楚女、熊雄、罗亦农等就是在此时牺牲的。蒋介石反共使奉系军阀欢欣鼓舞,也在北方遥相呼应,大肆屠杀共产党,共产党北方区委书记李大钊4月28日在北京壮烈牺牲于敌人的绞刑架下。
4月18日蒋介石在南京成立了代表帝国主义和地主买办阶级利益的“国民政府”,与1926年12月中旬由广州迁到武汉的国民政府相抗衡。在国民革命军北伐时,北方冯玉祥所率国民联军也表示赞成国民革命。1926年9月17日国民军在五原举行誓师大会,冯玉祥任国民联军总司令,他接受李大钊“出宁夏,取潼关,而后会师北伐”的建议,按此路线东进。1926年九十月间冯玉祥部向西安挺进,11月27日打败了吴佩孚所支持的刘镇华部,占领了陕西全省。
蒋介石叛变在南京成立国民政府后,武汉国民政府面临东征讨伐蒋介石还是继续北伐张作霖的选择。当时在上海的周恩来、罗亦农、赵世炎、陈延年、李立三等致电中共中央,建议武汉政府立即东征讨蒋,尖锐地指出如不讨蒋“整个革命根本失败无疑”。根据当时的兵力是完全可以挫败蒋介石的,但这一正确建议未被采纳,而错误地主张继续北伐奉军和吴佩孚残部,于是在4月19日武汉革命政府在武昌东湖誓师,开始了第二次北伐。
武汉革命军任命唐生智为国民革命军第一集团军总司令,率军北伐河南。第一纵队为右翼,张发奎任司令官,下辖第四军、第十一军和贺龙的独立第十五师。第二纵队为中路,刘兴任司令官,下辖第三十六军和第八军一部。第三纵队为左翼,所辖为新编河南部队。第三十五军为预备队。4月底第一集团军由驻马店北进。5月13日对敌发起总攻,中路军17日攻占西平,敌退走郾城。5月26日北伐军攻下郾城,歼灭敌军3000多人,北伐军也伤亡1000多人。右翼军5月14日向上蔡之敌发起攻击,17日北伐军占领上蔡,敌退至逍遥镇,25日北伐军攻占逍遥镇,此役中歼敌数百人,俘虏敌团长两名及其他官兵500多人。
奉军连连失利,退守临颖,临颖为许昌屏障,是兵家必争之地,敌军急忙从开封、郑州向临颖增援,集结总兵力达六七万人,并有飞机和坦克各一队,统由张学良指挥,准备决一死战,两军对垒,形势相当严重。5月27日中路军进抵临颖,向敌军发起进攻,由于北伐军两翼尚未进入战区,战斗相当激烈。28日在右翼军的配合下,一举将临颖守敌全歼。此役北伐军歼敌逾万,俘敌千余人。北伐军也有重大损失。七十七团团长蒋先云是共产党员,在进攻临颖的前沿阵地辛庄时,脚负重伤,仍身先士卒,乘马率领冲锋,在枪林弹雨中蒋先云再次负伤,人马仆地后还高呼冲锋。这时师长派人来救护,蒋先云说:“不捉住张作霖,不下火线!”不久,又第三次负伤,因流血过多而壮烈牺牲,牺牲前一再高呼“前进!前进!”牺牲时年仅25岁。
攻占临颖后,北伐军兵分两路:一路取开封,一路直逼郑州。1927年4月26日武汉革命政府任命冯玉祥为国民革命军第二集团军司令。5月6日冯玉祥出兵潼关,分三路挥师东进;中路又分三支,一支沿陇海铁路攻洛阳,一支由陕西南出荆紫关攻豫西南,一支经山西攻石家庄。北路由宋哲元指挥,出宁夏,取道绥远,进攻察、绥。南路由岳峻指挥,出武关,攻南阳。
至5月26日,中路军经过激烈战斗攻占河南重镇洛阳,缴枪3000枝,俘敌4000人。而后继续向东推进,连下孟津、堰师等地,30日直逼汜水、郑州。这时第一集团军中路正沿京汉铁路逼近郑州。郑州守敌处于第一、二集团军的夹击之中。30日下午冯玉祥部占领郑州,6月1日占领开封。第一集团军随即入郑州与第二集团军会师。至此,奉军在黄河以南之敌被全部肃清,敌军退至黄河以北。与此同时,蒋介石也借机沿津浦铁路“北伐”。6月初奉军撤出徐州,蒋介石随即占领徐州并以此威胁武汉汪精卫政府。
蒋介石攻下徐州后,与帝国主义勾结在一起加紧对武汉政府进行经济封锁和武力威胁,使武汉政府处于极度的困境之中,社会动荡,政府内部的资产阶级发生动摇。1927年5月先后发生了武汉夏斗寅的叛变和湖南许克祥的叛变,他们疯狂屠杀共产党人和工农革命武装,仅长沙一带在20多天里就有一万多人被屠杀。对于冯玉祥,武汉政府和南京政府则采取两种截然相反的态度,国民党左派想拉其反蒋,国民党右派想拉其反共。6月10日至11日,汪精卫与冯玉祥在郑州会谈,但冯玉祥早与蒋介石有联系,郑州会谈之后,6月19日至21日,冯玉祥又应邀去徐州与蒋介石会谈,并于会后发表了《冯蒋联合宣言》,冯与蒋在反共“清党”上取得了一致意见。在这种情况下,汪精卫等国民党右派的反共面目也日益暴露,而共产党内则进一步执行右倾机会主义路线,企图以让步来拉拢汪精卫,结果汪精卫更加得势,积极反共,暴露了其穷凶极恶的反革命面目,7月15日汪精卫正式宣布反共,同蒋介石联手实施对共产党人的大屠杀,甚至叫嚣“宁可枉杀一千,不可使一人漏网”,这就是汪精卫不亚于蒋介石“四一二”的“七一五”反革命叛变。蒋、汪叛变革命以后,建立了依靠帝国主义的国民党新军阀的统治,这就使轰轰烈烈的北伐战争最终宣告失败。
北伐战争最终失败的根本原因在于革命阵营内部混入了以蒋介石为代表的极右分子,他们是地主买办资产阶级的党棍。当革命发生时他们投机革命,利用革命党和革命人民来扩张自己的势力,一旦时机成熟便暴露出了狰狞的反革命面目,反过来屠杀革命党和革命人民,篡夺革命领导权和革命胜利果实。同时,中国共产党的幼稚和右倾投降主义路线也为蒋介石的阴谋得逞提供了条件。另外,当中国革命蓬勃发展时,帝国主义必然会在革命阵营中寻找新的代理人,蒋介石正是他们的合适人选,因而在各方面积极支持反革命势力,致使蒋介石迅速投入帝国主义的怀抱。北伐战争虽然最终失败了,中国革命暂时陷入低潮,但它也酝酿着更大的革命高潮的到来,为以后爆发的土地革命战争准备了深厚的思想和群众基础。