二十四日拂晓,中国空军出动十四架战机,轰炸了韩庄、临城和枣庄一带的日军据点。濑谷启知道,这是中国军队发动大规模攻击的先兆。濑谷支队主力集结在临城、峄县一线,却一直没有等来中国军队的任何动静——汤恩伯并没有按照预定时间发起攻击,他的军团部和第八十五军仍停留在抱犊崮山区里,只有关麟征的第五十二军到达了预定进攻位置——枣庄东面鸦鸽窝、郭里集一带,并在那里与濑谷启指挥的沂州支队形成对峙。这个时候,日军台儿庄派遣队仍在向台儿庄推进。
二十四日早七时,台儿庄派遣队从北洛出发,其前锋试探性地攻击了孙庄,在第三十一师的抵抗下没有进展。两个小时后,日军后续部队抵达,在二十余门火炮的掩护下,向北洛以南一线发动了猛烈攻击,台儿庄以北的刘家湖各村相继失守,第三十一师官兵一边抵抗一边逐次后退。中午,日军飞机对退入台儿庄东北方向园上村内的中国守军进行了轰炸,守军伤亡殆尽时日军占领了园上村。
日军台儿庄派遣队单刀直入,根本不管置于侧背的汤恩伯部,其一路进击的方向始终是台儿庄,而濑谷支队主力则集结在台儿庄派遣队身后,随时以备汤恩伯部不测。池峰城师长终于意识到,日军台儿庄派遣队既不是在试探性攻击,也从没有为中国军队所诱,其作战任务就是占领台儿庄,他的第三十一师已经坐在了火山口上。池峰城立即联系汤恩伯部以求获得支援。汤恩伯的意思是,他的第二十军团已向台儿庄以北走出很远,正在枣庄东南方向的郭里集与日军“激战”,无法南下“回旋”台儿庄助池峰城部歼灭“当面之寇”。
池峰城没有别的办法,只有命令一八五团不惜一切代价向刘家湖反击,命令一八六团务必收复园上村,以重新构筑起台儿庄北面自外围防御线。十四时,一八五团由南洛突然出击,当面日军猝不及防,出现伤亡后撤退,刘家湖阵地得以收复。但园上村里的日军据守不退。一八六团的反击没有成功。刘家湖阵地刚刚稳定,日军突然又反攻而来,致使台儿庄北面阵地全面陷入激战,一股日军突破了中国守军防线直逼台儿庄城下。
台儿庄的北面都是开阔的平地,日军迫近寨墙时不得不暴露在中国守军的火力之下,每前进一步都要付出巨大代价,日军士兵只好疯狂地挖掘临时掩体,挖出一个坑趴在里面不敢抬头。为了压制中国守军的火力,日军再次对台儿庄寨墙进行了四个小时的轰击,致使北部寨墙多处倒塌,形成几个大缺口,数股日军从缺口冲入。危急时刻,一八六团团长王震、团附姜常泰率领预备队紧急增援。中国守军的轻重机枪向突入的日军猛烈扫射,日军在伤亡不断的情况下仍持续冲锋,两军在寨墙附近混战在一起。经过死战,中国守军终把突入寨内的日军逼退,北寨墙外的日军遗尸后撤。
台儿庄激战之时,二十三日蒋介石抵达徐州视察,并让随行的副参谋总长白崇禧、军令部次长林蔚和作战厅厅长刘斐留下来,协助第五战区指挥作战。台儿庄受到的猛烈攻击,令包括蒋介石在内的所有人颇感意外。或许此时李宗仁才意识到,让孙连仲部诱敌深入,再让汤恩伯部猛烈侧击,以图压缩日军于微山湖畔将其歼灭的“轴回旋”计划过于夸张了,台儿庄才是这股日军必要攻克的战略要点。于是,第五战区改变了作战部署:命令第三十一师防守台儿庄,取消原定之诱敌任务,并增调一个炮兵营(携带七十五毫米野炮十门)、一个机械化野战重炮兵连(携带一百五十毫米榴弹炮两门),以及铁甲车第三中队,全部配属给第三十一师。同时,解除第三十一师归属汤恩伯指挥的命令,将第三十一师交还给孙连仲的第二集团军指挥,
孙连仲随即命令第三十一师全力死守台儿庄,命令右翼黄樵松的第二十七师火速增援台儿庄,然后他把自己的集团军总指挥部前推到距台儿庄不足两公里的一个小村庄里一尽管处在日军火炮的射程内,但这个小村庄实在是太小了,以至于日军始终未能判明这里就是孙连仲的指挥部。按照规定,总指挥部的位置应距战场第一线二十公里,但孙连仲率领他的参谋们上了前沿,足见其死守台儿庄的决心。
除了死守台儿庄之外,孙连仲已没有别的选择,但他知道进攻是防御的最好手段。二十五日凌晨二时,他命令部队北出向台儿庄外围的日军实施反击。在漆黑的夜色里,一八六团一部佯攻孟庄,主力则向园上村实施反击,日军据守在园上村的民房和碉楼里,反击部队因遭到炮火杀伤而无大进展。一八五团一部攻击裴庄的日军,经过激战双方形成对峙。一八二团向沧浪庙方向的反击取得成效,日军开始向园上村方向撤退,一八五团乘机攻占了裴庄。中国官兵从缴获的文件中得知,日军第六十三联队第三大队已经到达战场。
凌晨四时半,池峰城发布命令:一八一团固守现位置,主力在台枣铁路线东侧,于日军南进时实施侧击,同时把台儿庄以北刘家湖附近的公路尽量破坏;一八六团参加反击作战的部队尽快回撤,加强台儿庄城防工事;一八二团回撤北车站,作为全师预备队;炮兵七团占领并设炮兵阵地。之后,池师长亲自带领铁甲第三中队出台儿庄向北,于晨六时抵达南洛村北端,然后指挥炮兵向北洛及刘家湖的日军据点开始轰击——“敌顿形惊慌混乱,杀伤甚大,敌旋以炮还击,伤我士兵两名,机枪一挺,即撤回车站。”
天亮了。日军在飞机轰炸和炮火轰击后,猛攻南洛附近中国守军阵地。第三十一师两次北出台儿庄增援,依旧没能抵挡住日军步兵的冲锋,南洛北面的阵地失守,守军两个连的官兵全部阵亡。接着,南洛以东的刘家湖阵地失陷。为争取主动,第九十三旅旅长乜子彬率一八五团向南洛攻击前进。上午十时,部队行进到刘家湖附近时,乜旅长发现村东北的小树林里有日军的炮兵阵地,大约十门火炮正疯狂地向台儿庄方向轰击。三营营长高鸿立决心把那十几门大炮夺到手。全营官兵霎时间全把上衣脱得精光,端着上了刺刀的步枪,在高营长率领下,白光闪耀,直向小松林冲去。敌人见此情景,惊恐万状,一面以步枪向我高营阻击,一面拉出炮车掉头向东遁逃。高营官兵一片喊杀声随后追击。
正在追击中,北面突然出现日军的千余步兵和二十多辆坦克,见到自己的炮兵被中国军队追得在麦田里狂奔,日军坦克立即迎着高营长的部队冲过来。中国官兵没有打坦克的武器,很快就被日军冲散,各自为战地与日军步兵厮杀在一起。 一八五团团长王郁彬闻讯率一营和二营赶去增援,于是,一场更大规模的肉搏战在麦田里展开。喊杀声、枪弹声、坦克的轰鸣声和刺刀的碰击声汇成一片。—尽管一八五团付出了巨大代价,“但使一向骄横的日寇认识到中国人的骨头还不是他们想象中的那样好啃的”。
外围的受袭,并没有阻止日军攻占台儿庄的决心。二十五日下午,在日军猛烈的炮击下,台儿庄北门以及附近寨墙“倒塌数丈”,日军步兵从缺口处向庄内猛突。为减缓庄内守军的巨大压力,台儿庄外围部队奉命发起侧击,由于火力弱势没能减缓日军的强攻,台儿庄北门最终被突破,两百余名日军冲了进来。守寨墙的一八六团官兵奋力反击,以四百余名官兵伤亡的代价将缺口封堵,但一部分日军被堵在了庄内的大庙里。这是台儿庄城内的一座城隍庙,楼高院深,里面长满野草,中国土兵放火将草点燃,致使大庙燃起熊熊烈火,窜进来的日军官兵全部被烧死在里面。