1927年4月19日,武汉国民政府誓师。20日北伐军出发。以唐生智、张发奎部沿平汉路北上,约定冯玉祥部陇海路东进,夹击河南之奉军,会师中原。冯部孙良诚指挥部队与孙传芳军在鲁西南一带对阵。孙传芳在北洋军阀中素称“治军有方”,全部兵力9万多人,主力部队仍有6万人,作战勇猛。而孙良诚是冯部有名的骁将,二孙部队接触后,杀声连天,战斗异常激烈。
孙传芳不知张宗昌部已退,为配合张部,从鲁西侧击蒋军。连破蒋军阵地,连克丰县、沛县,直逼徐州。
蒋介石看到徐州危机,连忙致电冯玉祥告急,尽快派后备部队支援。冯令石友三率全体预备队约1.5万人火急应援,猛击孙军右侧。石友三也是冯部骁将之一,在石军猛攻下,孙传芳军队被迫后退,解了徐州之危。又经冯部孙良诚骑兵部队冲击孙军背后,并截断了孙军退路,孙军才连忙后撤。孙良诚、石友三等部乘胜追击。石军攻丰县,击毙孙部军长袁家骥,又在渔台大败孙军。同时,方振武、孙良诚等部也取得胜利,骑兵部队攻占兖州。孙良诚、石友三、马鸿逵等部攻克济宁。从此,孙传芳部溃不成军,无力应战。4月22日,冯、蒋两军在泰安会师,一周内攻克了泰安。张宗昌悄悄地乘早已准备好的从德国购来的“义威号”铁甲车逃走,孙传芳也被迫离济南北撤。5月1日上午,蒋军刘峙、陈调元、顾祝同等部进占济南。
在这次战斗中,充分表明蒋军的战斗力不如冯军,鲁军的战斗力不如孙军。张宗昌的鲁军大多数由收编土匪而来,部队不听指挥,士兵经常逃散,逃散士兵再回到山上落草为寇。因此有人讥诮张宗昌扩军是化匪为兵,打仗时是化兵为匪。北军孙传芳部经过此次与冯军战斗,也就一蹶不振了。
在京汉路方面,奉军一开始就对山西猛攻,并企图以全力击破冯部在河北作战之部队。奉军与冯军展开了连续不断的激烈战争。鹿钟麟急调刘骥、刘汝明等部北上,加强彰德防线。当战况紧急时,冯玉祥电致武汉,由李宗仁派兵到河南接防。于是,将驻豫中的韩复榘部火速调往前线。
冯玉祥为实现“声东击西”的计划,令部队白天浩浩荡荡北进,故意使奉方侦察飞机侦探看到,而夜间却再令部队稍稍南撤。奉方上了当,以为南方北伐军主攻兵力集结于西线,于是,只以张宗昌、孙传芳残部御东线,而将奉军主力集结西线,集中兵力猛攻彰德,施用飞机、大炮狂轰滥炸。冯军据壕死守,沉着应战。韩复榘部有师长3人受伤,旅长2人受伤。韩本人也受伤。
当北伐军各路人马向北发动全部攻击时,1927年5月1日,冯玉祥在西安红城召开军民大会,宣誓就任国民革命军第二集团军总司令职。时冯以石敬亭为集团军参谋长。石,字筱山,山东利津人,出身第一混成协学兵,清末时考中秀才。民国元年与冯一起参加了滦州起义,九死一生逃得性命。石为人肝胆义气,却言行有定则,勤勉惕励。冯以何其巩为秘书长,刘伯坚为政治部部长,吴锡祺为参谋处处长,张自忠为副官处处长,吴树荣为军械处处长,舒双全为军需处处长,杨懋为军医处处长,张吉墉为军法处处长,徐廷瑗为军务处处长。
时冯军人马分为中路军、东路军、南路军、右路军、左路军、北路军。中路军由冯为总指挥,以第一、第三、第四、第五、第六、第十三路军和独立第五、独立第十、独立第十一师、骑兵傅建衡集团,骑兵第五师第二旅,炮兵徐廷瑗旅组成,由华阴、潼关、灵宝一带向洛阳、郑州前进;东路军以刘镇华任总司令,指挥其所部第二十三、二十四、二十五、二十六军,由孟津渡河,向直隶京汉路方向进军;南路军由岳维峻任总司令,指挥其第八、第十二路军,田生春师,续天杨、何全升、丑产俊、胡景铨、张德枢,康振帮等旅,兵马出紫荆关入南阳;右路军以孙连仲为总司令,人马为马克齐、马斌、姚雪乾三旅,集中龙驹寨,担任保护陕鄂交通;左路军以徐永昌为总司令,辖第十五路军及第九路军之一部,由陕北碛口渡河,假道太原出娘子关;北路军以宋哲元为总司令,辖第一、第八、第二十二师。其余各部为后援,留原地驻守,加紧训练。后因刘镇华举棋不定,东路军改任鹿钟麟为总司令,辖杨虎城等部。
5月1日,世界劳动节,冯择此吉日宣誓出征,其誓词曰:
谨奉国民政府命令,于十六年“五·一”劳动节日在西安新城统率全体革命将士,以为大多数被压迫民众谋最大幸福之决心,联合革命民众,将全力献给于党,拥护党之主义及政策,与国际帝国主义者及国内一切反革命势力,作最后决计,完成国民革命。以此目的,生死赴之,谨宣誓于青天白日之下。
5月1日夜,奉军因东线济南失守,惟恐被截后路,才全线退却。冯当夜下令,全线追击,3日攻克顺德,5日进战大名,各路奋勇追击,势如破竹。
蒋介石率总司令部于5月1日进入济南,日本军第6师团于次日侵入济南,设立司令部,对国民党北伐军肆意武装挑衅。日军向蒋军的两个营发动攻击,蒋军1个营被消灭,另1个营也损失惨重。蒋军被迫还击,压倒了日军的气焰。但日军师团长福田,逼迫蒋介石下了停战令。3日夜,蒋又严令驻在商埠的军队全部撤退,同时派外交部长黄郛和日方和谈,蒋又遵照日方要求,严令蒋军不许还击。于是日军乘机大肆屠杀中国军民,奸淫劫掠,并将蒋介石的战地政委会外交处主任蔡公时割耳、割鼻、挖眼。随时聚市民刺杀取乐,并不准市民关门,以便日军入宅强奸妇女。市内军民死伤近万。蒋军将士群情激愤,士兵寻杀日军,几位军、师长请战,要求全歼此股日军。蒋介石迅即召开军长以上军官会议,严禁还击,取“忍辱负重”方略,命令部队绕道渡黄河,继续北伐。
5月5日晚间,蒋介石仓皇逃出济南城。6日,蒋介石与黄郛乘马绕道逃到党家庄车站。冯玉祥也从河南前线赶到这里。蒋、冯在清真寺中举行会议,黄郛、王正廷、蒋作宾、杨杰、杨永泰等参加会议。蒋提出放弃北伐,与奉张划江而治,分“南北朝”。多数人反对这项主张,而冯玉祥反对放弃北伐最烈。会议决定济南问题以外交方式办理,蒋暂返南京主持一切,军事由冯指挥,绕开济南,继续北伐。
5月5日,中山门落成,冯率文武官员赴潼关督师。并发表讨伐奉军布告,称:
照得国民革命,所为铲除一切奸顽,况我军人,尤属职责无所推贷。本总司令夙爱民众,疾恶如仇,誓师以来,务求贯彻历年主张,促三民主义之实现。前似长安被围,危在旦夕,析骸易子,惨不忍闻,是以提兵东讨,以解倒悬,固革命之基础,出秦民于水火,其在包临方面,原取诱敌深入之策略,不谓奉逆狡黠,不敢再前,以致未能予以巨创,徒令同胞被其惊扰。每一念及,遗憾良深。兹者国民革命军肃清江表,正以五十万大兵长驱北上,靳总司令云鹗义豫中,东截敌军于津浦铁路徐宿之间,西竭敌军于京汉铁路黄河之岸,举国同志,无不敌忾同仇。本总司令业与阎督办锡山约定,以晋军横断新乡、石家庄、大同各路,以刘总司令镇华为我东路军总司令,进兵河北,本总司令亲率二十万兵力,东出潼关,会师徐、郑。其在南路方面,已令第十六路吴总司令新田、孙总司令连仲,张总司令维玺,共率兵力二十万东出武关,与唐总指挥生智所部,结合并进。我北军则随商副司令震,进攻热察,直捣幽燕。为此特任副司令宋哲元为北路军总司令,郑金声副之,第七路总司令门致中为前敌总指挥,第八师师长韩占元为右翼指挥官,骑兵第五师师长赵守钰为左翼指挥官,第二十二师师长马鸿宾为骑兵指挥官,统率第七路暂编第一师、第八师、第二十二师、骑兵第五师各全部,共计十万兵力,克日东进,特任驻甘总司令刘郁芳为北路援军总司令,第五路总司令石友三、第一师师长佟麟阁副之,共率第五路第十一师各全部及驻甘军六混成旅,以便策应,并任吴瑞芝为北路运输司令,筹送一切军需,以免有误军用。须知本军致力国民革命,乃为民众利益而战争,乃为中国自由独立而奋斗,况本军师出以律,绝不骚扰闾阎,当为海内外之所共见,务希农工商学各界同胞,一致明了本军意旨,共同参与革命战争,以期一举歼敌,完成全功,党国前途,实深利赖,特此布告,咸使闻知,此布。
冯行抵渭南,闻陕中又有谣言,且发现驻陕军中有扰民之象,遂发电于军中,讲了四件事,一是要众官兵拥护于右任,不要听信谣传——时有传冯率兵出关后,陈树藩要卷土重来。冯告诉众人,关于陕省安全已有安排;二是要出关部队拿出慷慨督师的精神,激励自己,激励全军;三是留陕人马要注意整顿部队,裁汰老弱及油滑不堪、恶习已深的分子,清除害群之马;四是要提高党的工作和政治工作,并要援助地方党部及各种社会团体的发展。
5月10日,南京政府推谭延闿乘车北上,阻蒋南行。南京政府认为,奉鲁军已经无力继续作战,张作霖于9日下了停战撤兵的命令,北伐任务很快就可完成。如果北伐军退回南京,必然会引起军事上和外交上的更大变化,南京政府将因此而全盘瓦解,连江南半壁苟安的局面也不可能维持下去。谭延闿和蒋介石在兖州举行了重要会议。会议决定继续对日妥协,绕道北伐。
兖州会议后,国民党军绕道渡过黄河北进。蒋介石有意将冯、桂、阎3部都推上北进的第一线,既限制冯的指挥权,又可造成三者之间的矛盾,以便由蒋从中控制。
5月21日,蒋介石、冯玉祥、白崇禧等在郑州会商军事,决定第一集团军沿津浦路北进;第二集团军由津浦路以西、京汉路以东地区北进;第三集团军,北面沿京绥路向东、南面沿正太路向东,转京汉路北进;第四集团军沿京汉路北进。冯、阎、桂集团军首领都有“先入关者为王”的打算。
冯、阎本来商定两军并肩前进。当阎军打到离保定不远的方顺桥车站附近时,战事进入紧张阶段。阎军伤亡惨重,要求冯军韩复榘部向前推进,以牵制敌军,解阎部之危局。但韩忽然接冯密令,率部撤向石家庄,使阎军右侧背受到敌军威胁。阎军告急时,冯却按兵不救。这实际上是冯对阎在南口战役对冯恩将仇报的报复。桂军开上去解救了阎部之危局。
但冯部的这一部署,却给了阎后来独霸河北和京、津两市的大好机会。韩复榘奉命后撤后,第四集团军白崇禧部,也进至石家庄。冯见阎军占保定后欲进取京、津,急忙又命韩复榘部急速北进企图抢先占领北京。冯为了鼓励士气,迅速进军,曾效法管仲作歌要士兵唱着进军。