日军在占领南京、上海后,日军大本营决心打通南北战场的联系,继续分南北两路沿津浦路进攻,以打通南北日军的联系,它的战略目标是占领徐州。徐州位于津浦铁路和陇海铁路的交汇点,自古为兵家必争之地,当时归中国第五战区管辖。
第五战区司令长官是李宗仁将军,抗战之前他便提出了“焦土抗战”的主张。他手下辖有桂、滇、川、中央、鲁等各路军队,而他对不同系统的军队能给予比较公平的待遇。津浦铁路日军与山东韩复榘的部队隔着黄河对峙了将近一个月。日军见韩复榘无意投降,准备南渡黄河,占领济南。韩复榘自黄河北岸一战以后,已无斗志,只想保存自己的实力。他下令将弹药、给养等军用物资及军官眷属等送往河南南阳、漯河等地。从12月底到1938年1月初不到20天的时间里,韩复榘一退数百里,轻易丢失黄河天险、省会济南,不战而放弃津浦铁路上的泰安、兖州等地,造成了徐州以北的空虚局面。
韩复榘的行为破坏了第五战区的战略布置,整个津浦铁路北段大门洞开,徐州和陇海铁路暴露在日军攻击之下,第五战区司令长官部大为吃惊,李宗仁责问韩复榘为何放弃泰安,韩复榘竟回电道:“全面抗战,何分彼此,南京已失,何守泰安。”为了严肃军纪,1938年1月11日,蒋介石借在开封召集第一和第五战区团长以上军官开会之机,扣押了韩复榘,并将他押往武汉,经军法审判后于1月24日枪毙正法。一个集团军司令兼省主席因怯战被处死,令全国军心为之一振。
日军华中派遣军第十三师团于1938年初从六合、滁县等地沿津浦铁路南端北上,先后占领安徽的蚌埠、临淮关、凤阳等地,与华北日军在津浦铁路上的进攻遥相呼应。
2月初,蚌埠日军500多人在飞机、大炮掩护下,乘坐橡皮艇开始强渡淮河,严阵以待的第五战区于学忠部第五十一军,趁日军立足未稳,将他们聚歼于阵地前。经过淮河两岸边的多次争夺和血战,于学忠部力战不支,日军渡过淮河向北推进。统帅部从第一战区急调第五十九军张自忠部赶至淮河北岸增援第五十一军。
张自忠,字荩臣,山东人,“七七”事变后,张将军适任天津市长和第二十九军第三十八师师长,因善后暂留平津,临别之前,张自忠对宋哲元等黯然说道:“诸位此去成了民族英雄,我则被人当成汉奸了。”当时的张自忠对日军尚抱有一定幻想,因而平津失守前后国内舆论怀疑他有不利于国家的行为。他的旧部气愤得将他的照片都撕毁了。张自忠从平津脱身返回南京后,仍不能得到人们的谅解,备受冷嘲热讽。但蒋介石听从冯玉祥、李宗仁等人的劝告,仍给张自忠以兵权,让他重返旧部,任第五十九军军长。张自忠决意以战斗来洗刷所蒙受的耻辱,在就职时对老部下说:“今日回军,除共同杀敌报国外,乃与大家共寻死所。”增援淮河是张自忠重掌军权后第一次率部出征,他与于学忠部密切配合,使日军受阻于淮河北岸。
在淮南,廖磊所部广西军队攻击日军的侧面,日军被迫全部退回南岸应战,双方在淮河两侧形成对峙局面。由于南路日军受阻,日军无法按计划南北齐进夹击徐州,为日后的台儿庄大捷创造了条件。
此时,山东境内的日军兵分两路。2月至3月间,矶谷廉介第十师团及坂垣征四郎第五师团各一部分分别由津浦铁路北段和台(台儿庄)潍(潍坊)公路向徐州地区突进。这两路日军均为精锐部队,他们以为中国军队已经不堪一击,便放胆孤军冒进。3月初,第五师团的坂本旅团约两万人迫近临沂,10日起开始攻击。负责防守该城的是庞炳勋军团长,他的职务虽高,但实际只有5个团的兵力,另外还有从青岛撤退而来的部分海军陆战队官兵可供调度。在日军的猛烈进攻和飞机的轰炸下造成重大伤亡,渐渐不支,庞炳勋只得向司令长官李宗仁连电告急。李宗仁命已调至滕县附近作战的张自忠部紧急增援,并派战区参谋长徐祖诒亲往临沂协调指挥。张自忠与部下昼夜兼程,以一昼夜强行军90公里的速度,于12日进抵临沂北郊的沂河西岸,对日军展开攻击。16、17日,张自忠部在沂河一带与日军4000多人交战,日军全力攻击崖头、刘家湖与茶叶山阵地,五十九军的简易工事被日军密集的炮火摧毁,这3处阵地落入日军之手。张自忠下令两个旅增援反击,阵地几度换手后,日军被击溃。五十九军全线出击,日军纷纷逃命,残余日军龟缩于汤头、白塔一线负隅顽抗。庞炳勋部为配合张自忠部也从城内杀出,与张自忠部内外夹击,经过3天血战,日军完全被击溃,大部逃向莒县。临沂一战,日军精锐部队败于中国的杂牌军,伤亡3000余人,包括一名联队长战死。日军用载重汽车拉走的尸体有100多车,就地掩埋的达七八百具。日军第五师团受阻于临沂,无法按预定谋划与津浦铁路南下的第十师团会师于台儿庄。
鉴于日军第十师团沿津浦铁路迅速南下,为了让徐州方面有时间完成兵力部署,李宗仁命令由孙桐萱出任原由韩复榘指挥的第三集团军总司令,指挥所部反攻已被日军占领的汶上和济宁。2月12日夜,第三集团军展书堂师分别从汶上城的西北、东、南三面攀登城垣,进行偷袭。突进城内部队与日军激烈巷战。展书堂师与日军血战4昼夜,在伤亡2000多人后,被迫撤退。同时,进攻济宁的第3集团军在反攻不能奏效后,于19日全线撤退。这次反攻虽然没有成功,但牵制了日军兵力,有利于津浦铁路正面的作战。
在津浦铁路正面,日军第十师团的濑谷旅团等部于3月中旬进抵滕县附近。第一二二师受命守卫滕县,城内约有5个营的兵力。这支部队属第二十二集团军邓锡侯部,他们来自四川,装备相当陈旧,但士气高昂。日军步骑兵5000多人进抵滕县东郊,用重炮猛轰城内,东城墙多处被毁,南城墙更被炸开6~7米宽的缺口,日军步兵在坦克的掩护下向缺口突入10多次,都被击退,守军的伤亡也非常惨重。日军攻入城后,开始巷战。王铭章师长亲自在西城督战,腹部中弹后,仍击毙3名日军,壮烈牺牲。18日清晨,坚持两昼夜的滕县失守,守军除数百人由北门突围外,其余2000多官兵均为保卫滕县而战死。
日军主攻地点是台儿庄,它位于徐州东北约30公里的大运河北岸,是徐州的门户。李宗仁派以善于防守著称的第二集团军孙连仲部防守台儿庄及运河沿线。日军第十师团孤军深入,3月下旬开始进犯台儿庄,守军是第二集团军第三十一师官兵,在他们的阵地上,每天都要落下数千枚炸弹。在摧毁台儿庄外围阵地后,日军即利用当地居民房屋做堡垒,因为台儿庄一带盛产石块,居民多垒石为墙,每个住宅便成天然堡垒。而第二集团军却没有平射炮和装甲车来有效地对付日军。日军猛攻3昼夜后冲入台儿庄内,双方逐房逐屋争夺,各自在墙上开挖枪眼,互相投掷手榴弹,反复进行拉锯战,为了争夺一间小房子便死伤几十人。第二集团军不断派部队增援台儿庄,守军继续坚守阵地,第五战区还将野战重炮团及战车防御炮营、铁甲车一个中队调往台儿庄,增强守军火力。
3月27日,日军以9辆坦克为先导,占领台儿庄东北角,但守军的战防炮显示了威力,击毁了6辆日军坦克。28、29日两日,战斗进入白热化的阶段,日军飞机、大炮昼夜轰炸,车站与煤厂成了一片瓦砾场。守军设法与日军展开近战,使日军炮火发挥不了威力,打退了日军多次进攻。在第二集团军伤亡过半的情形下,孙连仲向李宗仁请示,能否让第二集团军撤下,好让该军留下一点种子。李宗仁虽心有所不忍,但还是严令第二集团军坚持到底。同时,他命令装备较为精良、机动作战能力强的第二十军团汤恩伯所部4个师,火速南下赶至台儿庄,从背后攻击日军。师长池峰城看到台儿庄处境危急,死守下去必然全军覆没,便询问孙连仲是否可以撤退,孙连仲总司令的回答是:“士兵打完了你就自己上前填进去。你填过了,我就来填进去,有谁敢退过运河者,杀无赦!”4月1日午夜,池师长组织了数百名敢死队,分成几个小组,夜袭日军,冲入敌阵。日军没有想到中国军队还能反攻,乱成一团,经过一个通宵的混战,台儿庄大部分地区又重新被守军控制。汤恩伯已率部赶至战场,关麟征军占领台儿庄以北的林庄,从侧背向日军发起猛烈攻击。日军濑谷旅团撤退不及,陷入重围,已成强弩之末,机动车辆多数被毁,剩下的也因缺乏汽油陷于瘫痪。从临沂赶来的第五师团坂本旅团与台儿庄日军合流。4月3日,第五战区开始总攻。日军死伤万余人后,被迫突围,向峄县、枣庄地区撤退。
这就是有名的台儿庄大捷。台儿庄大捷是中国军队自抗战以来第一次在正面战场上击败日军,对国人有很大的鼓舞,武汉等地军民为此举行了盛大的游行以示庆祝。
蒋介石对徐州会战十分关注,曾亲临徐州视察,并派副参谋长白崇禧组织参谋团协助李宗仁指挥作战。台儿庄大捷使得中国的高级将领有点过分乐观,统帅部调集大量兵力前往徐州以图扩大战果。不到1个月,援军已有20多万人,加上战区原有部队总兵力已超过60万人。日军大本营侦知徐州附近集结有大量中国的主力部队,命令华中派遣军与华北派遣军协同作战,从南、北两方向夹击徐州,意在捕捉和消灭中国野战军主力。
日军以第五、第十师团在峄县、枣庄一带固守,吸引第五战区的注意力,汤恩伯等部虽不断攻击,但因缺乏重武器,总不能取得决定性进展,相反在进攻中造成重大伤亡。日军第十六师团和一一四师团等部增援峄县、枣庄,至16日后形势逆转,日军已经转守为攻,再次向台儿庄方面进犯。来自云南的卢汉部第六十军在台儿庄和禹王山一带与日军血战20多天,挡住了日军的去路。日军见第五战区主力已经被吸引在徐州周围,从各个战场调集13个师30多万人分6路向徐州大包围。日军第十三师团攻占了徐州西南的永城一带,5月13日,由永城北上,炸毁了汪阁东面的铁桥,截断陇海铁路。5月15日,统帅部见南、北日军已对徐州构成包围,决定放弃徐州。16日,第五战区军队陆续开始向日军兵力较薄弱的西南方向的豫、皖等地撤退。第六十军是最后撤出徐州城的,5月19日,日军占领徐州。
在大军撤离时,为避免日军飞机轰炸,多数部队都是昼伏夜行,日军因兵力不够,夜间不敢外出阻击,各路中国部队都能从日军的接合部寻求空隙突围,避免了淞沪会战撤退时发生的悲剧,日军围歼中国军队主力的计划没有成功。