47年秋,国民党北平行辕所部在晋察冀野战军连续打击下,被迫将其主力7个军32个师(旅)收缩于北平(今北京)、天津、保定三角地带,企图依托交通便利条件,机动作战,确保平、津、保等战略要地。另以第3军驻守石家庄。
9月中旬,东北民主联军发起秋季攻势,华北国民党军先后抽调6个师至北宁线或出关增援。晋察冀军区乘华北国民党军兵力空虚之机,向保定以北地区发动攻势,以一部围攻徐水,主力集结于徐水东北地区,准备歼灭来援之国民党军。
10月11日黄昏发起战役,至12日,第2纵队2个旅、第3纵队一部攻占徐水车站及南、北城关;第3纵队(欠1个团)、第4纵队、独立第7旅等部于徐水城以北烟台、芦草湾、三台镇地区;开辟了打援战场;第2纵队1个团占领徐水城南漕河沿岸,向保定警戒。
14日,国民党军第94军等部共6个团在战车第3团配合下,由高碑店、定兴沿平汉铁路南援;第16军共4个团,由新城、 雄县西援,企图解徐水之围。野战军经4天激战,打退了国民党援军的多次进攻,但因援军队形密集,昼攻夜缩,反击未能得手,形成胶着状态。
17日黄昏,野战军司令部正在调整部署,拟引援军向西寻机歼灭时,得军区急电:驻石家庄的第3军军长罗历戎按保定"绥靖公署"主任孙连仲命令,率所部主力第 7师和配属之第22师第66团北上保定,企图会同由平、津出援之军夹击人民解放军于保北地区。
据此,晋察冀野战军司令部迅速调整部署,决心在运动中围歼第3军。令第2纵队司令员陈正湘指挥第2纵队第5旅,第3纵队第 7、第8旅和独立第 7旅伪装野战军主力继续围攻徐水城,并抗击国民党援军;令冀中军区独立第8旅和沿线民兵阻扰,尾随国民党军第3军北上,迟滞其前进。
野战军司令部亲率第 4纵队、第2纵队(欠第5旅)、第3纵队第9旅隐蔽转移,一昼夜奔行120公里,于19日晨到达方顺桥以南预定作战地区。
15时,第3军进至清风店附近,第4纵队从东、北两面,第3纵队指挥第6、第9旅从西面,第4旅、独立第8旅从南面立即对其进行合围,并于次日拂晓发起攻击,将第3军压缩至南合营、高家佐、东西同房、西南合狭小地区。
罗历戎判断人民解放军无力同时在保北和保南作战,遂一面顽抗,一面向北平、保定求援。蒋介石令增援徐水之军不惜一切代价南下解第3军之围。
21日,野战军第10旅首歼国民党军第7师第19团主力于南合营,第9旅攻克高家佐歼灭第66团1个加强营,第6旅突破西南合阵地,控制了宽约200米突破口。
22日凌晨,野战军各旅在强大炮火配合下,向西南合第 3军核心阵地发起总攻,战至11时30分,全歼第3军军部、第7师及第66团。