张家口是北平西北重镇,自古就是兵家必争之地,由国民党军华北“剿总”第11兵团等部驻守。华北军区第3兵团(辖第1、第2、第6纵队,8个旅5万余人),于11月29日对张家口外围据点发起突然攻击,迅速占领左卫、柴沟堡、万金、沙岭子等地,隔断了张家口与宣化的联系,构成对张家口的合围之势。傅作义为保住通往绥远(今内蒙古自治区西部)的重要基地,急令其主力第35军等部由北平驰援张家口。12月2日至4日,第35军等部夺回沙岭子等失地。6日,第35军奉令火速赶回北平。华北第3兵团于7日重占沙岭予等据点,并攻占宣化,15日,攻占张北。遵照中共中央军委的指示,从12日起,第3兵团对张家口实行“围而不打”。其第1纵队主力位于张家口以南姚家庄、榆林堡、沙岭子地区,另1个旅位于张家口东北之西甸子、朝天洼地区;第2纵队位于张家口西南之宁远堡、孔家庄地区;第6纵队位于张家口以北及以西的土井子、南天门、万全地区,构成对张家口的严密包围,进行攻城准备。此外,为防止第11兵团向绥远突围,华北军区之北岳军区部队位于南堑壕(集宁东北),构成第二道阻击线;西北军区第8纵队集结集宁地区,构成第三道阻击线。17日,东北野战军第4纵队由南口赶到宣化、宁远堡地区,增强包围张家口的兵力。22日,受阻于新保安的第35军被歼灭(参见新保安战役)后,第11兵团司令官孙兰峰根据傅作义“相机突围,向绥远撤退”的指示,于23日拂晓率部向张家口以北突围,企图经商都退回归绥(今呼和浩特)。华北第3兵团和东北第4纵队,在第3兵团司令员杨成武指挥下,冒风雪严寒,前堵后追。24日拂晓将第11兵团等部压缩在大境门外西甸子、朝天洼、乌拉哈达、黄土窑约10公里长,0.5公里宽的山沟内。16时战斗结束。此战,解放军共伤亡2900余人,歼灭国民党军6.5万余。人,收复张家口。缴获各种火炮410门、轻重机枪1515挺、汽车95辆,以及其他大批武器弹药。第11兵团司令官孙兰峰率少数骑兵逃脱。