4月15日,毛泽东致电彭德怀、贺龙、习仲勋,做了《关于西北战场的作战方针》的指示,要求采用“蘑菇”战术,将敌拖得筋疲力尽,然后消灭之。彭德怀按照毛泽东的指示,牵着胡宗南在陕北转圈。羊马河战役后,胡宗南发现西北野战兵团主力在瓦窑堡以南地区,乃令整编第一军、整编第二十九军迅速进至瓦窑堡东南,企图围歼西北野战兵团于此。此时,西北野战兵团已转移至瓦窑堡至清涧大道以南地区隐蔽待机。胡宗南在寻找西北野战兵团主力的行动中,为防止再遭伏击,只走山路,不走大道,结果“旅行”数日,处处扑空,陷入兵疲粮缺的困境。此时,解放军晋冀鲁豫野战兵团第四纵队等部在晋南地区攻势正酣,严重地威胁着胡部侧背。胡宗南被迫令整编第一军和整编第二十九军于4月17日南下永坪、蟠龙地区休整补充。西北野战兵团乘机于新岔河地区歼其一部计2000余人之后,主力继续在永坪东北地区等待时机。
此时,蒋介石获悉中共中央及解放军主力已开始陆续东渡黄河,遂令胡宗南主力迅速北上,并令榆林邓宝珊第二十二军南下配合,企图南北夹击将西北野战兵团歼灭于葭县(今佳县)、吴堡地区。胡宗南按照蒋介石旨意,集中整编第一、第二十九军共9个旅的兵力,于4月26日由蟠龙、永坪地区分两路向绥德前进;第二十二军及胡宗南部第二十八旅同时由榆林向米脂、葭县开进;以一六七旅部率一个团及陕西民团第三总队守备补给基地蟠龙。
根据敌情变化,4月27日彭德怀等致电毛泽东,提出:“我野战军本日隐蔽于瓦市东南及西南,拟待敌进逼绥德时,围歼蟠龙之敌,得手后,再围歼甘谷驿、桥儿沟八十四旅的二五一团,并彻底破坏永延段公路。”毛泽东于28日立即复电,批准这一计划,指出:“让敌北进绥德或东进清涧时,然后再打蟠龙之敌。”据此,西北野战兵团立即调整部署,以第三五九旅一部,并从每个主力旅中抽出一个排,配合绥德军分区部队及晋绥独立第五旅,佯装主力,大张声势,徐徐北去,以诱敌北上。同时,集中第一纵队和第二纵队独四旅及新编第四旅共4个旅围攻蟠龙守敌;以第三五九旅主力于清涧以西,监视和阻击绥德、清涧可能回援之敌;以教导旅于青化砭以北,阻击青化砭地区可能进犯之敌。
蟠龙是国民党军在陕北的重要补给基地。胡宗南部依据该镇外围的复杂地形和高地,构筑碉堡群、深沟宽壕以及敷设多层障碍物,组成坚固的防御阵地。这对缺乏攻坚装备,又缺乏攻坚经验的西北野战兵团来说,要攻克这样的阵地,困难是相当大的。西北野战兵团各攻击部队于4月30日前隐蔽到达指定地点后,即举行军事民主会议,反复研讨作战方案,积极进行战术、技术准备。经过充分准备后,5月2日午夜即向守敌发起突然攻击。攻击部队逼近敌前沿阵地,并以抵近火力有效地压制和破坏敌火力点。同时,连续爆破排除了众多障碍物,并组织小部队多路穿插迂回,攀登悬崖绝壁,直插敌防御纵深。战斗持续到4日,西北野战兵团攻克了蟠龙以东、以北之主阵地及蟠龙外围制高点。当日黄昏,各攻击部队依据制高点直扑蟠龙镇中心,迅速结束了战斗。此役全歼守敌整编第一六七旅等部6700人,俘少将旅长李昆岗、少将副旅长涂建、少将旅参谋长柳届春等军官,缴获大量粮食和军用物资。西北野战兵团伤亡1549人。这时,胡宗南急令其主力掉头回援,而西北野战兵团则撤到安塞休整。此役连同青化砭战役、羊马河战役以“三战三捷”著称于战史。