1923年1月16日滇桂联军占据广州后,分区割据,包赌包烟,自行征税,蹂躏市民,孙中山对之无可奈何。
1924年5、6月间,孙中山决定改编粤军,整顿饷项,任命许崇智为粤军总司令,以梁鸿楷为第一军军长、李福林为第三军军长,李济深、张民达、郑润琦分任第一、二、三师师长。黄埔军校成立后,所编教导团、学生军亦渐成规模。9月20日,孙中山在韶关誓师北伐,当时在粤部队,尚有滇、桂、湘、赣、豫等省军队。22日,孙下令北伐各军,一律改称“建国军”。在11月13日北上之前,孙中山任命胡汉民留守广州代行大元帅职权。
1925年1月7日,陈炯明乘孙中山离粤,谋三路进攻广州。15日,广州留守府决定讨伐陈炯明,以杨希闵为东征联军总司令;并决定东征联军分三路进兵:杨希闵之滇军为左路,由河源、老隆趋兴宁;许崇智之粤军为右路,由淡水、平山、海陆丰趋汕头,蒋介石率领之黄埔军校第一、二教导团、第二期学生、第三期入伍生共3000多人参加右路军作战;刘震寰之桂军为中路,围攻惠州。2月1日,广州留守府发布总动员令,东征开始。刘、杨二军与陈炯明勾结,所部在博罗、惠州一带按兵不动。3月12日,孙中山在北京病逝,军阀唐继尧和段祺瑞乘机派人到香港,与刘、杨密谋在广州叛乱。3月19日,杨希闵致函粤军驻省司令部,告以“所有各军后方留守部队,均应由本部检查”。次日,又饬令各军不许回广州,否则缴械。杨希闵还下令滇军赵成师在白云山架设大炮,控制北部,近郊各要隘均驻扎滇军。
5月初,因滇、桂军移防,市民大为恐慌。13日,右路军决定许崇智率粤军一部驻守潮、梅,蒋介石任总指挥率主力于下旬回师讨逆。19日,滇桂军占领电报局、火车站及其他政府机关,大元帅府迁往河南士敏土厂办公,河北已完全由滇桂军所控制。滇军第三军胡思舜从佛山调千余兵力入广州,并调所部赶赴东江,企图阻止东征军回师。
6月5日,大元帅府分别下令罢免刘、杨的建国滇、桂军总司令职务,并以朱培德为建国滇军总司令。是日上午,滇、桂军占领省长公署及粤军总司令部;下午,占领财政厅、公安局及市内各重要机关。7日,大元帅府通告刘、杨通敌叛乱罪状。桂军第五师师长林树巍宣布脱离刘震寰,改编为建国桂军第一师。11日,滇军第四师朱世贵宣布脱离杨希闵,改编为建国滇军第二师。这些举动,对滇桂军是有力的打击。滇军曾三次进攻河南,均未得手。同日,回师的东征军已进抵广州市郊,蒋介石分令三路向叛军发起进攻,粤军第一、三师及第六旅为左翼,沿广九路向市区推进;警卫军为中路,进攻瘦狗岭;党军任右翼,由龙眼洞进击。另外,粤北的湘军谭延闿部、滇军朱培德部沿粤汉铁路南下。魏邦平由帅府任命为渡河攻城总指挥,由河南向市区进攻。12日零时,政府军向刘杨军发起总攻,在广东工团军、农民自卫军配合下,经过一天半激战,平定了刘杨,收复了广州。同日,刘杨逃往香港。13日,帅府任命蒋介石、吴铁城为广州卫戌正、副司令。14日,回援刘、杨抵达广州的滇军第三军军长胡思舜部被包围缴械。至此,平定刘杨之役胜利结束,广州局势转危为安。