攻沪、宁,占领苏、皖的作战计划:决定前敌总指挥部所属第一、第二、第三各纵队,沿沪杭路前进,攻取上海;东路军直属第四、第五、第六各纵队及拨归东路军指挥的中路军第二军,进取常州、丹阳,回攻无锡、苏州,与第一、二、三各纵队协同围歼浙沪之敌,而后与江右军会攻南京。而此时,孙传芳和张宗昌组成苏鲁联军,打算和北伐军决一死战,这成为蒋介石攻克沪宁的最大障碍。
3月初,当何应钦率领的东路军第四、第五、第六纵队,分别推进到浙江北部的湖州、长兴、安吉、泗安,及皖东边境的广德时,南下鲁军王栋八千人、徐沅泉1万人,均由津浦路前进。但沪淞、苏州、常州以西至宜兴、溧阳、秣陵、镇江一带鲁军,均未固定。此外,驻溧水、溧阳之孙联军郑俊彦、白宝山、梁鸿恩各部起而反扑。3月10日,贺耀组军也从景德镇到达繁昌、新林铺之线,准备进攻芜湖,后又奉命向高淳、博望、丹阳前进,截击当涂之敌。3月12日,蒋介石致电何应钦,说“贵军集中完毕,应由宜兴、溧阳之线向常州、镇江之敌攻击;同时以白崇禧部攻苏州,截断沪宁路”。20日,按蒋的吩咐,各纵队遂分别占领沪宁线上的黄村、奔牛、吕城、常州、丹阳等要地。这样,敌之沪宁线中段被切断,上海、南京之敌失去联系,惊惶失措。
这时,张作霖安国军为挽救其危局,计划集中联军主力于苏、浙、皖交界一带,一部集结于蚌埠、明光、滁州等处,并求击破,然后再平定浙、皖。
蒋介石将计就计,分东西两端进击:西路攻镇江,与江右军会攻南京;东路进攻淞沪占上海,打破敌人的部署。东进一路由白崇禧率东路军第一、第二、第三各纵队担任。他们早在3月初,就集中于浙江嘉兴附近,取攻势防御,等待进攻时机。
3月中旬,东路军第四、第五、第六纵队占领宜兴、溧阳后,为配合沪宁线的作战,白崇禧令东路军第一、第二、第三纵队,开始向松沪进军。其战斗部署是:集中主力以第二十一师对吴江、苏州之敌,采取佯攻;以第二十六军主力占领后岗、松隐后,攻击松江附近之敌,并袭击敌之侧背。各军同时发动,进迫当涂、溧水、溧阳、宜兴、吴江、淞江之线。东路江右两军,相互配合,向沪宁路一带进攻。
在中国共产党的积极发动下,上海的工人群众行动起来积极响应,给军阀部队及时和有力的攻击,于3月21日晨占领了上海门户淞江。
北伐军占领淞江后,敌向上海溃退,何应钦命追击,先头部队薛岳师紧紧追逼至上海南郊龙华。恰好白崇禧派军舰进攻吴淞,截断江阴,并使北伐军胜利渡河。这时,淞沪地区敌军残部,已为北伐军四面包围,克复上海指日可待。但在关键时刻,蒋介石为避免与帝国主义发生直接冲突,令白崇禧停止了前进。事实上,蒋介石正积极地谋取用另一种方式占领上海。
然而,3月21日,上海工人在中国共产党领导下,发动了武装起义,这是一场纯粹的由共产党领导的工人起义,当然是没有经过蒋介石同意的。它打破了蒋介石的原定计划和夺取上海的总体部署,更可怕的是,上海,这个蒋介石无比看中的经济后台,有可能落人“他人”之手,这是蒋介石最为担心和忧患的。