1947年7月,国民党军晋陕绥边区总部及所属第22军主力、西安“绥靖”公署所属整编第36师第28旅等部共1.5万余人驻守
陕北地区榆林县城及其周围地区。为调动西安“绥靖”公署所属部队北上,策应人民解放军
晋冀鲁豫野战军一部挺进豫西,西北野战军司令员兼政治委员彭德怀遵照中共中央军委统一的战略部署,指挥所属第1、第2、第3纵队及教导旅、新编第4旅,共8个旅,于7月31日由绥德地区北上进攻榆林。8月6日进行外围作战,7日包围
榆林古城,10日攻城。由于城墙坚固,
中国人民解放军第一野战军缺少炮火支援,组织准备也不够周密,至11日晚仍未攻克。在此期间,国民党军统帅部一面令
榆林市守军坚守待援,一面令西安“绥靖”公署主任
胡宗南调整编第1、
国民革命军第二十九军共8个旅自
安塞区、保安分路向
绥德县、
佳县(今佳县)方向急进,另以整编第36师主力取捷径驰援榆林,企图消灭西北野战军于榆林城下。11日,整编第1、第29军分别越过
青阳岔镇、子长(旧称安定),整编第36师绕过长城,逼近榆林。西北野战军鉴于调动胡宗南部主力北上的目的已经达到,遂于12日撤围榆林。此次作战,共歼国民党军5200余人。
10月,
黄龙县、
延清战役后,国民党军胡宗南部退守
延安市、
甘泉县等地,
榆林市及其周围地区仅有晋陕绥边区总部指挥第22军主力及保安部队共9000余人驻守,处境孤立。
中国人民解放军第一野战军为解除南下作战的后顾之忧,决定先夺取榆林。22日,第1、第3、第6纵队及
绥德县军分区部队,由绥德等地向榆林开进,27~31日扫清榆林外围据点。11月2~8日,两次攻城未克。6日,国民党西北行辕副主任
马鸿逵部3.5万余人由定边、安边、靖边等地出援,12日逼近榆林。西北野战军以一部兵力继续包围榆林,主力西移打援。至15日,于元大滩等地歼灭援军3000余人,但援军主力仍绕道进入
榆林市。西北野战军遂于16日撤围。第2次榆林地区作战,共歼灭国民党军6800余人。