战役部署为:由郑维山、胡耀邦指挥的3纵从市西南方向担任主攻;由曾思玉、王昭指挥的4纵从市东北方向担任主攻;由唐延杰、王平指挥的冀晋军区部队从市西北方向助攻;由周彪、李天焕指挥的冀中军区部队从东南方向助攻;由高存信、李呈瑞指挥的炮兵旅配合3、4纵进攻;由陈正湘、李志民指挥的2纵和其他部队在外围阻击敌人的增援。
11月1日以野战军司令员杨得志的名义,向各部队下达了战斗任务。同时,晋察冀边区党政军民积极投入支援解放石家庄作战的各项准备工作。
11月5日夜,攻城部队南渡滹沱河向石家庄开进,以隐蔽和突然动作,包围了石家庄和外围各据点。
6日拂晓,全线发起攻击,3纵占领了留营、大小谈村、西三教等村;4纵占领了柳林铺、柳辛庄、谈固、北宋、方北等村;冀中部队占领了尖岭、东岗头,冀晋军区部队占领了大小安舍和大郭村、大马村、西三庄各点,并包围了飞机场。
7日晨,冀晋军区独立第1、第2旅一举攻克大郭村飞机场,歼灭国民党保安9团1营。
8日晨,4纵连续突击,攻克了国民党军自吹的“铁打的云盘山”。至此,石家庄外围的国民党军被全部肃清。
同时,野战军炮兵击中发电厂,断绝了市区及内、外市沟电网的电源。国民党军修筑的30公里的外市沟、15公里的内市沟和25公里的环市铁路,蜿蜒盘绕石家庄。沟外地势平坦,无一掩体,接近国民党军十分困难。
在广大民兵、民工的协助下,攻城部队于11月6日晚开始进行土工作业,改造地形。至8日晨,交通壕已延伸到距外市沟不足百米处,隐蔽坑道已接近外市沟前沿。
8日16时30分,对外市沟发起全线总攻,各部队在强大炮火掩护下,用坑道爆破和强行突破的办法,从四面突破外市沟。3纵7旅首先从西兵营突破,攻克西焦、城角村和农业试验所,歼灭国民党守军一部,击毁铁甲车1列;3纵8旅突破外市沟阵地后,攻占振头镇、西里村;4纵10旅由云盘山以西突破,攻占义堂村、花园村及八里庄,歼保定“绥靖”公署独立团主力;4纵12旅在北宋附近突破,攻占范谈村;冀中军区独立第7、第8旅攻占东三教、槐底村;冀中军区独立第1、第2旅包围北焦等据点。
战至9日晨,内外市沟之间除北焦、元村、彭村等据点外,全部被攻克。10日16时,攻城部队强大炮火向内市沟防线猛烈轰击。18时各部队先后突破内市沟。
3纵8旅率先爆破成功,从西面突破,经反复争夺,攻占西南兵营、东里村,歼国民党守军96团主力。4纵10旅29团1连、6连从东面突破后,连续打退国民党守军94团在坦克掩护下的7次反扑,巩固了突破口,并迅速向铁路以东市区发展,掩护主力部队顺利推进到中正路(今中山东路)。
晋察冀野战军3纵、4纵和其他部队也相继突破国民党军阵地,占领了复兴路(今新华路)、大兴纱厂等地。冀中、冀晋军区部队歼元村、彭村、北焦国民党守军。