隨後,王銘章令葉濟時、楊特生兩旅進占了三騾山;第5師之謝安華、舒士林兩團進占了貫口山;李鋆陶旅及第2路之楊選福旅占領了大口子,並進到五台山。王銘章則率縱隊司令部進駐陳家壩。此時王銘章集中了左縱隊的13個團,已深入到川陝邊界的空山壩西南地區。中央縱隊、右縱隊則向通江以北推進,企圖與左縱隊分進合擊,南北夾攻,一舉殲滅紅軍於苦草壩地區。東麵的劉存厚部也認為此時有機可乘,急於5月14日以8個團的兵力,搶占了竹峪關、草場壩,威脅紅軍左翼。在這種態勢下,孫震下令各部向紅軍全線攻擊。
王銘章貪功心切,不待中、右縱隊展開,即以13個團冒進至空山壩以南的柳林溪地區。於崇山峻嶺、峽穀深壑之間,王銘章縱隊處處涉險,已無回旋餘地,且遠離後方,補給困難,兵士疲憊。5月9日,國民政府任命劉存厚為陸軍第23軍軍長。14日,劉存厚以8個團搶占了竹峪關,意在威脅紅軍左側安全,但他要深入進攻,已無後繼之兵,且立足未穩,陣地不鞏固,戰鬥力較弱。川軍的最後一次進攻,已從各方麵顯露出失敗的弱點。
5月11日,中共川陝省委發出《關於保衛赤區運動周決議》,指出當前川陝省的緊急任務,是徹底消滅田頌堯。堅決鞏固蘇區。此時,紅軍以少數兵力憑險節節抗擊,不斷給敵以重大殺傷。在逐次收縮陣地的過程中,紅軍雖退守到方圓不足百裏的狹窄地區,但戰線大大縮短,主力部隊得到了必要的休整,並已完全集中,以逸待勞;雖然紅軍給養困難,長靠竹筍、豌豆、胡豆等充饑,但士氣旺盛,戰鬥情緒高漲;紅軍雖然防區狹小,但占據著群峰連綿,林木茂密,退可以據險固守,進可以居高臨下的有利地形,且有根據地人民的積極支援。此時徐向前吸取了鄂豫皖時期紅軍反“圍剿”的經驗教訓,在西北軍委參謀長曾中生的積極協助下,擬定了反攻的作戰方案。決定揮師東向,首先殲滅進占竹峪關的劉存厚部8個團,然後迅速回師,集中兵力消滅柳林溪的王銘章縱隊13個團。
5月15日深夜,紅10師、11師主力一舉占領竹峪關西北、東北和東南的險要陣地。紅軍與劉存厚部8個團激戰至次日,劉存厚全線崩潰。紅軍乘勝追擊60餘裏,斃傷俘敵800餘人,解除了紅軍反攻作戰的東線之憂。接著,紅軍星夜移師,西轉於空山壩地區。
5月17日,紅四方麵軍總部在空山壩召開軍事會議,進行反攻部署。張國燾、陳昌浩、曾中生及各師主要領導出席了會議。會議由徐向前主持。他根據敵我情況和大家的建議,決定立即集中紅軍主力,殲滅冒進至空山壩以南的王銘章縱隊13個團,使敵全線震恐,不戰自亂,從而徹底打破田頌堯的“圍攻”。令倪誌亮、李先念率紅11師由空山壩以北向敵左側迂回,切斷敵之退路;令曠繼勳、甘元景率紅12師主力會同王宏坤、周純全率紅10師由空山壩以東及長坪地區進攻敵右翼部隊;令王樹聲、張廣才率紅73師繼續堅守大騾馬、小騾馬及小坎子等陣地,伺機轉向正麵進攻。總部軍事會議結束以後,擔任反攻的各部隊立即進行了緊張有序的政治動員和戰前的各種物資準備。
此間,敵第2路司令劉漢雄令楊選福旅和第3路的楊特生旅攻擊紅73師大騾馬山陣地,李鋆陶旅攻擊小騾馬山陣地及柳林溪,以此威脅紅軍側翼。5月20日,田軍全線攻擊紅73師正麵陣地。王樹聲和張廣才指揮部隊多次同敵人展開肉搏,打退了敵人一次又一次進攻,為主力部隊全線反攻贏得了極為寶貴的時間。此時,劉漢雄繼續進攻大騾馬山,李鋆陶旅則徘徊不前。王樹聲抓住戰機,指揮紅73師主力乘勢向劉漢雄發起反擊,擊退劉漢雄路。接著,王樹聲又迅速轉師於小騾馬山。李鋆陶此時卻揮軍來攻小騾馬山。王樹聲令已集結的紅73師主力居高臨下順山勢一陣猛打猛衝,直殺得李鋆陶旅幾乎不能穩住陣腳。