土木位于平绥路怀来、新保安之间。土木防御战是平津战役第一阶段一个局部的战斗。
我华北第3兵团,遵照中央军委的命令,由绥东地区东进,于1948年11月29日对张家口外围据点发起攻击,攻克怀安、柴沟堡等据点后,转向张家口、宣化方向猛插,并占领沙岭子,形成对张家口的包围态势。傅作义见势不妙,急令第35军(两个师)附暂3军(即第104军)的1个师,乘车增援张家口,以保张家口之安全。
敌人通过后,我冀热察军区独立第7师和华北野战军12旅也迅速插向平张路中段。独7师于12月1日夜,一举攻占了沙城、土木和狼山,抢占了新保安至怀来之间的有利地形,并破坏了这段铁路和公路。12旅于12月初,攻占了新保安东侧一线。为了切断傅作义嫡系第35军返回北平之路,独7师和第12旅分别选择有利地形,构筑东、西两面防御工事,准备阻击第35军逃回北平和阻击由怀来向西增援的暂3军。
由于东北野战军先遣兵团的行动,傅作义发现了东北我军入关,感到不妙,慌忙急令第35军迅速向东撤回北平,并令其怀来的暂3军两个师向西接应。第12旅堵击第35军东退,我独7师在土木阻击暂3军向西接应。
从12月2日开始,独第7师第19团担任主要防御,第20团为师预备队。第19团打退敌人多次进攻。
12月4日,暂3军用7个团的兵力,向我第19团防御阵地连续猛攻,战斗异常激烈,从早晨一直激战到下午4点多。敌人不惜一切代价,猛攻第19团防御阵地,终因敌众我寡,第19团的石河子、甘家梁和土木东北等阵地被敌占领。独7师师长陈宗坤组织全师反击,第20团奉命投入战斗,于4日19时开始反击。
第20团的反击部署是:2营沿西山由北向南反击,逐山夺取;1营、3营从草庙子顺沟而下,占领石河村后,以1个营攻占石河村西南山,1个营攻占土木及东北山。
黄昏,第20团部队已集结于草庙子至常庄子之间的山沟里。当天夜里,敌人顺沟向我独7师师部所在地草庙子进攻。第20团将1营埋伏在常庄子村南侧边河沟田坎后面,当敌人接近时,1营各种火力一顿猛打,接着向敌人冲击,打退了敌人,顺势占领石河村。拂晓,向土木北山和土木城攻击前进。
由于敌人已退逃,1营顺利占领了土木城及其北山。
2营当夜也击退了山上的敌人,夺取了石河村西北山,5日天亮后又夺取了石河村西南山。
到12月5日14时止,击退了敌人,恢复了第19团的防御阵地。
第20团接替第19团的防御任务,及时调整部署,抓紧时间加修工事,准备再战。团长周德礼和邱阜政委率领团指挥所人员,占领第19团原来的指挥所,感到视界不良,视线被石河村东山挡住了,经请示师首长批准,将团指挥所移到山高、视界开阔的石河村东山。在此,土木至狼山之间的地形和道路都能观察到,敌人从土木城出来,一过狼山就能发现。
6日中午,周团长在指挥所观察情况,发现铁路路基上有100多名敌人,由东向西运动,他想,如果在土木城里设伏1个连,敌人若仍沿前几天的老路进攻,便可以一举吃掉敌人。周团长把这一想法同邱阜政委、赵斌参谋长商量后,确定从2营抽1个连到土木城内设伏,并很快部署完毕。但6日这天敌人没有来进攻,各营、连继续加修工事,准备再战。
7日,各营、连于拂晓进入阵地,做好战斗准备。
这天上午,敌人从狼山向土木前进。9点多钟,敌尖兵连前进到土木城以东200多米时,尖兵排就散开了队形。是我们埋伏的连队暴露了目标?还是敌人的警惕性高?
设伏的连队沉不住气,在敌人尖兵排距东门还有100多米时就开始射击。敌尖兵排听到枪响调头就向后跑,一个活的也没抓住。1个营的敌人展开,向土木东北山进行掩护性进攻。接着,敌人的团主力也展开。摩托化炮兵开到离我军阵地约3000米的地方,在公路两侧展开,占领阵地。后面还有大批的敌人在向前运动。看样子,敌人是要向我大举进攻。
12时,敌炮火首先对我土木东北山射击。10分钟后,成群的炮弹射向第20团1营阵地,敌人进攻的矛头指向1营。周团长立即命令1营做好战斗准备,等敌人炮火一停止,立即从工事里出来占领阵地,坚决打退敌人。
12时30分,敌人步兵开始向前运动,距1营阵地200米时停止前进。12时40分,敌人炮火延伸,向第20团指挥所和1营、2营阵地之间空地射击。
有4个多连的步兵向1营阵地冲击,被1营早已准备好的火力打得抱头鼠窜,败退下去。
14时,敌人炮兵又对我一线阵地和1营指挥所所在的山头射击。紧接着,敌人用两个营的兵力向我一线阵地冲来。我1营组织各种火力予敌以重大杀伤,消灭了一部分敌人。但敌人凭着人多,不顾伤亡,夺占了我1营两个排的阵地。周团长命令1营组织反击,团迫击炮连支援1营。1营将预备队投入战斗,打退了敌人,夺回了被占去的阵地。
为防敌人再次向我进攻,周团长命令2营迅速向东山机动,隐蔽待命,随时准备支援1营战斗。
敌人进攻失败,无法突破我军防御阵地。16时,敌用迫击炮向我猛烈射击,但已是失败前的垂死挣扎了。17时,敌人步兵交替掩护撤退,土木防御战胜利结束。