青化砭戰役後,西北野戰部隊主力轉移到蟠龍、青化砭西北地區休整,以部分兵力與敵周旋。國民黨軍第一戰區司令長官急於尋找陝甘寧解放區部隊決戰,集中整編第1、第9軍共11個旅的兵力,由安塞、延安、臨真等地分三路進至延川、清澗地區。
4月日又折向安定,連連撲空,兵疲糧罄。遂改以整編第76師守備延川、清澗,整編第15師第15旅守備瓦窯堡,主力於5日南返蟠龍、青化砭休整補充。6日,整編第9軍第1旅途經永坪時遭西北野戰部隊的攻擊,損失600餘人。
後發現西北野戰部隊主力位於蟠龍西北地區,即以8個旅的兵力,於1日由蟠龍、青化砭地區向西北方向進攻,並以整編第76師第7團接第15旅防務,第15旅沿瓦窯堡至青化砭大路南下策應,企圖圍殲西北野戰部隊於蟠龍、青化砭西北地區。
西北野戰部隊以第1縱隊(個旅)偽裝主力,牽製敵軍主力,誘其向蟠龍西北地區進攻;集中第縱隊和教導旅、新編第4旅共4個旅的兵力在子長縣城西南羊馬河地區設伏,求殲孤軍南下的第15旅。1日,整編第1、第9軍主力被阻於蟠龍西北李家岔、雲山寺一線。14日晨,第15旅沿子長、蟠龍公路兩側高地南下,10時進至羊馬河西北高地時,西北野戰部隊突然對其發起攻擊,迅速分割包圍,首先於東山殲滅其1個團,繼而圍殲位於西山的旅部及另1個團。激戰至16時,將第15旅4700餘人全部殲滅。
1947年4月羊馬河戰役後,西北野戰部隊秘密轉移至瓦窯堡附近休整。
國民黨軍統帥部判斷中共中央機關及人民解放軍西北野戰部隊主力在綏德地區並正在東渡黃河,遂令第一戰區部隊急速北上,並令駐守榆林的第軍等部南下,企圖南北夾擊,將其消滅於葭縣、吳堡地區,或逼過黃河。
國民黨軍第一戰區司令長官以整編第1、第9軍共9個旅的兵力,於4月6日由蟠龍、永坪地區分兩路向綏德地區急進,僅留整編第1師第167旅及陝西保安第總隊等部守備其補給基地蟠龍。
中共中央遂以第縱隊第59旅一部、第縱隊獨立第5旅及綏德軍分區部隊偽裝主力,引誘國軍主力繼續北上;以第1縱隊獨立第1旅、警備第旅各一部組成南進支隊,威脅其側後;集中第1縱隊第58旅、獨立第1旅和第縱隊獨立第4旅及新編第4旅共4個旅的兵力攻取蟠龍;並令教導旅位於蟠龍以南,第59旅主力位於永坪以東準備阻敵主力回援。
西北野戰部隊首先奪取了蟠龍東山守軍主陣地,隨即攻占全部外圍陣地。接著發起總攻,全殲守軍6700餘人,繳獲麵粉1萬餘袋、服裝4萬餘套及大批武器、彈藥。
蟠龍戰役,連同在此之前的青化砭、羊馬河戰役,西北野戰部隊三戰三捷,共殲國民黨軍14萬餘人,從而穩定了陝北戰局,為轉入戰略反攻奠定了基礎。