1945年8月抗战胜利前后,蒋介石集团一方面装出和平姿态,另一方面却加紧调动大军,向华北、华中、华南各解放区陆续开进。阎锡山在蒋介石的指使下,于1945年8月间派其第八集团军副总司令兼第十九军军长史泽波,乘八路军主力向日伪大举反攻之际,率军从临汾、浮山、翼城等地侵入太行山腹地,占领了八路军从日伪手中收复的襄垣、潞城以及被八路军包围的长治、长子、壶关、屯留等县城,企图抢占整个晋东南,恢复其在山西的反动统治。为了反击国民党的军事进攻,中共中央和中央军委指示晋冀鲁豫军区,集中太行太岳优势兵力,在上党地区发起保卫胜利果实的大规模自卫反击战,歼灭侵入该地区的国民党军。根据上级的部署,攻打长子县城被交到了第三八六旅手中。
长子城是国民党军在上党地区除了长治城外守军最多,防御最强的一个县城。该城抗日战争时期曾为日伪军长期设防,工事比较坚固。国民党军挺进第二纵队进占该城后,又加修和改造了工事和副防御设施。长子城的城墙高约8米,外壕约3米宽、两米深,城门外和城墙四角均有石砌炮楼,辅以低碉和暗碉相结合,各碉堡的火力可以相互支援。各主要防御地段,敷设有地雷、鹿砦、铁丝网等障碍物;城外和城关北高庙、南高庙、能仁寺、文昌阁等重要据点,都各自形成独立支撑点。该城内的国民党守军是“挺进第二纵队司令”白映蟾率领的挺进纵队和两个保安大队。
三八六旅是抗日战争时期威名赫赫的一支抗日铁军,当时由刘忠任旅长,张祖谅任政治委员,下辖第七七二团、第二十团和士敏独立团。接到任务后,刘忠、张祖谅立即进行充分的战前动员,认真侦察了敌情,太岳军区司令员陈赓对攻打长子县城又作了具体部署,并把“决死第一旅”的第三十八团配属给第三八六旅,另外派长子独立团予以配合。经研究,攻击部署为:以二十团附山炮两门,首先夺取西关,随后由西门登城;以七七二团附山炮、机关炮各1门,攻占北高庙和北关,随后由北门登城;以三十八团从西南角登城,以士敏独立团为预备队,夺取东关后相机登城;以长子独立团包围南高庙的国民党守军。由于炮火不足和城墙较高,决定采取坑道爆破的方式攻城。
9月13日1时,战斗打响。三八六旅各部按部署分别向国民党守军发起攻击,经过5小时激战,各部队相继消灭了外围的守敌,逼近城墙。城里敌人见状,曾从西门冲出来焚烧西关房屋并组织反扑,旋被击退,只有七七二团部队在攻击北高庙时受阻。敌人凭借10米高的峭壁疯狂向下扫射,并频频施放毒气弹,致使七七二团连攻四次未能拿下。七七二团立即调整战术,再次发起猛攻——大部队继续在北面佯攻,在敌人兵力集中于北面之际,迅速以一个排的兵力攻敌背后,先由工兵炸开高墙,部队随即突入庙内,与敌人展开白刃格斗。敌守军大部被歼,少数逃回城内。长子独立团则将南高庙的守敌团团包围。
9月14日起,二十团和七七二团开始向北门和西门挖掘爆破用坑道,经过四昼夜连续施工,至18日完成了坑道作业,并将大量炸药送入坑道。18日18时50分总攻开始,随着几声巨响,西门和北门外的大炮楼被炸塌,城墙也被炸开两个缺口,城墙上的国民党军多被震昏过去。三八六旅配属的山炮也同时进行抵近射击,分别把敌人北面和西面城墙上的碉堡摧毁。
由于三八六旅弹药很少,火力保障只能坚持10分钟,因此,在战斗前,旅首长要求攻城部队必须在10分钟内一次完成突破。突击部队战士们发起攻击后,攻城部队梯子组、跳板组、投弹组等,抬着跳板、云梯等器材,迅速冲过开阔地,爬过铁丝网,冲过护城壕,把云梯架上城墙,用10分钟登上了城头。各部随即攻入城内,随即向纵深发展,二十团迅速夺取了钟鼓楼制高点。经过激烈巷战,全歼了守敌,战斗于子夜时分胜利结束。南高庙国民党守军见大势已去,企图突围而逃,被长子独立团歼灭大部。
此次战斗,三八六旅共毙伤国民党军500余人,生俘国民党军挺进纵队司令白映蟾及县长陈士芳以下1500余人,缴获了大量武器弹药。