1938年1月1日,华北方面军第2军渡过黄河南进。第10师团于1月1日占领肥城、泰安,4日占兖州、曲阜,6日占邹县,11日占济宁。日海军陆战队于1月10日攻占青岛,第5师团于19日进入青岛担任警备任务。
2月上旬,中日两军在蚌埠地区淮河南岸进行激战时,津浦路北线日军乘机南下。中国第五战区遵照军委会意图,采取以攻为守战术,于2月6日命令第3集团军向济宁、第22集团军向邹县、第3军团向蒙阴发动攻势。第3集团军代总司令孙桐萱接受命令后,即以主力进攻济宁;以一部进攻汶上,尔后向济宁、兖州间实施侧击,策应主力作战。以阻止日军沿津浦路南下并确保陇海铁路安全。
孙桐萱于2月10日命令,第55军由金乡向济宁南关之敌进攻;命令第12军第22师由定陶经巨野、嘉祥迂回至济宁以北地区,尔后向济宁北门进攻,协同第55军收复济宁城;命令第81军对汶上之敌进行袭扰。规定2月12日拂晓到达进攻出发地点,12日开始攻城。
第22师师长谷良民作出部署:以第64旅为主攻部队,第66旅为预备队,随师部控制于运河西岸。12日拂晓前,第128团和129团秘密配置于济宁北关两侧,旅部推进至兴文镇。根据侦知情况,本来预定天亮后小分队化装居民入城,控制城门,里应外合歼灭城内日军。但日军已有觉察,当天城东、西、北门均未开。
第64旅旅长时同然急令北关两个团改为攀城强攻。12日22时开始用长梯子多路同时攀城进攻,伤亡甚重。后在西北城角击塌一段城墙,约有九个连从缺口处突入。城内日军以猛烈火力封锁了缺口,然后向入城部队发起围攻。敌我在城内北大街及城西北隅关帝庙一带展开激烈巷战,逐屋争夺,浴血肉搏。
入城部队孤军奋战,血战一昼夜,至14日拂晓,九个连勇士全部壮烈牺牲!在城北的第64旅残部,13日23时接到孙桐萱令其向运河西岸撤退命令,由第66旅接应,用民船渡过运河到达西岸。掩护撤退的后卫营损失较大,营长战死;第66旅旅长薛明亮负伤。
第81师于12日夜开始进攻汶上城,一度攻入北关,受到日军猛烈炮火袭击,伤亡甚重。由于济宁方面第64旅已撤回运河西岸,第81师也主动撤至开河镇附近,沿运河之线防守。
2月17日,日军第2军参谋长铃木率道按照司令官的意图,指示第10师团和第8师团于20日开始向运河防线中**队发起进攻。经五日战斗,25日日军突破运河防线,26日攻占嘉祥。尔后日军留一部兵力防守,主力集结于济宁。
第3集团军逐次抗击后,撤至巨野、独山镇、大义集、孟家屯、相里集之线防守。第3集团军顽强抵抗,使鲁西战局转危为安。
蒋介石十分高兴,特意让军委会致电嘉勉。